- Jan 11, 2010
-
-
Chris Lattner authored
llvm-svn: 93141
-
Ted Kremenek authored
value bindings. Along with a small change to OSAtomicChecker, this resolves <rdar://problem/7527292> and resolves some long-standing issues with how values can be bound to the same physical address by not have the same "key". This change is only a beginning; logically RegionStore needs to better handle loads from addresses where the stored value is larger/smaller/different type than the loaded value. We handle these cases in an approximate fashion now (via CastRetrievedVal and help in SimpleSValuator), but it could be made much smarter. llvm-svn: 93137
-
Ted Kremenek authored
(1) Introduce a new 'BindingKey' class to match 'BindingValue'. This gives us the flexibility to change the current key value from 'const MemRegion*' to something more interesting. (2) Rework additions/removals/lookups from the store to use new 'Remove', 'Add', 'Lookup' utility methods. No "real" functionality change; just prep work and abstraction. llvm-svn: 93136
-
Alexis Hunt authored
incompatible with user-defined literals, specifically with the following form: 0x1p+1 The preprocessing-number token extends only as far as the 'p'; the '+' is not included. Previously we could get away with this extension as p was an invalid suffix, but now with user-defined literals, 'p' might well be a valid suffix and we are forced to consider it as such. This patch also adds a warning in non-0x C++ modes telling the user that this extension is incompatible with C++0x that is enabled by default (previously and with other languages, we warn only with a compliance option such as -pedantic). llvm-svn: 93135
-
Douglas Gregor authored
C++ grammatical constructs that show up in top-level (namespace-level) declarations, member declarations, template declarations, statements, expressions, conditions, etc. For example, we now provide a pattern for static_cast<type>(expr) when we can have an expression, or using namespace identifier; when we can have a using directive. Also, improves the results of code completion at the beginning of a top-level declaration. Previously, we would see value names (function names, global variables, etc.); now we see types, namespace names, etc., but no values. llvm-svn: 93134
-
- Jan 10, 2010
-
-
Ted Kremenek authored
llvm-svn: 93133
-
Chris Lattner authored
the dest of the sext. llvm-svn: 93128
-
Chris Lattner authored
the zext dest type. This allows us to handle test52/53 in cast.ll, and allows llvm-gcc to generate much better code for PR4216 in -m64 mode: _test_bitfield: ## @test_bitfield orl $32962, %edi movl %edi, %eax andl $-25350, %eax ret This also fixes a bug handling vector extends, ensuring that the mask produced is a vector constant, not an integer constant. llvm-svn: 93127
-
Chris Lattner authored
integer vectors as well as just integers. llvm-svn: 93126
-
Benjamin Kramer authored
RewriteObjC.cpp(4419) : warning C4804: '>' : unsafe use of type 'bool' in operation llvm-svn: 93124
-
Mikhail Glushenkov authored
warning: suggest parentheses around ‘&&’ within ‘||’. llvm-svn: 93121
-
Anton Korobeynikov authored
llvm-svn: 93120
-
Anton Korobeynikov authored
llvm-svn: 93119
-
Anton Korobeynikov authored
1. Add helper class for sema checks for target attributes 2. Add helper class for codegen of target attributes As a proof-of-concept - implement msp430's 'interrupt' attribute. llvm-svn: 93118
-
Anton Korobeynikov authored
llvm-svn: 93117
-
Benjamin Kramer authored
llvm-svn: 93114
-
Chris Lattner authored
simpler profitability predicate. llvm-svn: 93111
-
Chris Lattner authored
llvm-svn: 93110
-
Chris Lattner authored
elimination of a sign extend to be a win, which simplifies the client of CanEvaluateSExtd, and allows us to eliminate more casts (examples taken from real code). llvm-svn: 93109
-
Victor Hernandez authored
Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue(). llvm-svn: 93108
-
Chris Lattner authored
lshr+ashr instead of trunc+sext. We want to avoid type conversions whenever possible, it is easier to codegen expressions without truncates and extensions. llvm-svn: 93107
-
Chris Lattner authored
llvm-svn: 93106
-
Chris Lattner authored
llvm-svn: 93105
-
Zhongxing Xu authored
llvm-svn: 93101
-
Chris Lattner authored
bits known clear in the result and don't care about the # casts eliminated. TD is also dead but keeping it for now. llvm-svn: 93098
-
Chris Lattner authored
1) don't try to optimize a sext or zext that is only used by a trunc, let the trunc get optimized first. This avoids some pointless effort in some common cases since instcombine scans down a block in the first pass. 2) Change the cost model for zext elimination to consider an 'and' cheaper than a zext. This allows us to do it more aggressively, and for the next patch to simplify the code quite a bit. llvm-svn: 93097
-
Chris Lattner authored
more expressions to be promoted and casts eliminated. llvm-svn: 93096
-
Chris Lattner authored
llvm-svn: 93095
-
Chris Lattner authored
nicer than passing around two const char*'s. llvm-svn: 93094
-
Julien Lerouge authored
llvm-svn: 93093
-
Chris Lattner authored
llvm-svn: 93092
-
Chris Lattner authored
llvm-svn: 93091
-
Chris Lattner authored
llvm-svn: 93090
-
Chris Lattner authored
commonIntCastTransforms into the callers, eliminating a switch, and allowing the static predicate methods to be moved down to live next to the corresponding function. No functionality change. llvm-svn: 93089
-
Daniel Dunbar authored
llvm-svn: 93088
-
Daniel Dunbar authored
llvm-svn: 93087
-
Daniel Dunbar authored
-weak_reference_mismatches is not present, it is the default. llvm-svn: 93086
-
Chris Lattner authored
llvm-svn: 93085
-
Chris Lattner authored
llvm-svn: 93084
-
rdar://7520940Chris Lattner authored
import other headers within the same framework with the full framework path, not with a relative include. llvm-svn: 93083
-