- Oct 17, 2008
-
-
Evan Cheng authored
llvm-svn: 57673
-
Chris Lattner authored
should work for intel long double, but ppc long double aborts in convert. llvm-svn: 57672
-
Zhongxing Xu authored
RVal => SVal LVal => Loc NonLVal => NonLoc lval => loc nonlval => nonloc llvm-svn: 57671
-
Zhongxing Xu authored
llvm-svn: 57670
-
Dan Gohman authored
constants that don't fit in an int. This fixes "this decimal constant is unsigned only in ISO C90" warnings. llvm-svn: 57668
-
Daniel Dunbar authored
floating point. This is only correct for x86-32 at the moment. llvm-svn: 57667
-
Zhongxing Xu authored
llvm-svn: 57666
-
Zhongxing Xu authored
type T. llvm-svn: 57665
-
Zhongxing Xu authored
struct s {}; void f() { int a[10]; int (*p)[10]; p = &a; (*p)[3] =1; struct s d; struct s *q; q = &d; } We return the corresponding MemRegionVal for them. llvm-svn: 57664
-
Dan Gohman authored
use a SUB instruction instead of an ADD, because -128 can be encoded in an 8-bit signed immediate field, while +128 can't be. This avoids the need for a 32-bit immediate field in this case. A similar optimization applies to 64-bit adds with 0x80000000, with the 32-bit signed immediate field. To support this, teach tablegen how to handle 64-bit constants. llvm-svn: 57663
-
Dan Gohman authored
shift counts, and patterns that match dynamic shift counts when the subtract is obscured by a truncate node. Add DAGCombiner support for recognizing rotate patterns when the shift counts are defined by truncate nodes. Fix and simplify the code for commuting shld and shrd instructions to work even when the given instruction doesn't have a parent, and when the caller needs a new instruction. These changes allow LLVM to use the shld, shrd, rol, and ror instructions on x86 to replace equivalent code using two shifts and an or in many more cases. llvm-svn: 57662
-
Daniel Dunbar authored
structure. - I'm not sure yet about the behavior, but this at least prevents the crash. Add some asserts on RegionStack usage. llvm-svn: 57661
-
Dan Gohman authored
llvm-svn: 57660
-
Ted Kremenek authored
llvm-svn: 57659
-
Ted Kremenek authored
llvm-svn: 57658
-
Ted Kremenek authored
Remove GRExprEngine::getLVal and RValues::MakeVal. Enhance StoreManager "GetLValue" methods to dispatch for specific kinds of lvalue queries, as opposed to interogating the expression tree (GRExprEngine already does this). Added FIXMEs. In particular, we no longer "assume" that a base pointer in a field/array access is null (this logic was removed). Perhaps we should do this when fetching the lvalue for fields and array elements? llvm-svn: 57657
-
Ted Kremenek authored
llvm-svn: 57654
-
Dan Gohman authored
llvm-svn: 57653
-
- Oct 16, 2008
-
-
Dan Gohman authored
llvm-svn: 57649
-
Argyrios Kyrtzidis authored
llvm-svn: 57646
-
Chris Lattner authored
llvm-svn: 57645
-
Chris Lattner authored
llvm-svn: 57644
-
Daniel Dunbar authored
- Disables the freeing of the ASTContext and the TranslationUnit after parsing & sema. - Primarily for timing the impact on -fsyntax-only timings. llvm-svn: 57643
-
Argyrios Kyrtzidis authored
llvm-svn: 57642
-
Gabor Greif authored
using the 'volatile' qualifier. This should not have any operational consequences on code, because tags should always be stripped off (giving a non-volatile pointer) before dereferencing. The new qualification is there to catch some attempts to use tagged pointers in a context where an untagged pointer is appropriate. Notably this approach does not catch dereferencing of tagged pointers, but helps in separating the two concepts a bit. llvm-svn: 57641
-
rdar://problem/6239726Steve Naroff authored
and http://llvm.org/bugs/show_bug.cgi?id=2893 llvm-svn: 57640
-
Mikhail Glushenkov authored
llvm-svn: 57636
-
Duncan Sands authored
uninitialized in these functions with gcc-4.3. llvm-svn: 57635
-
Duncan Sands authored
warning on x86-64 with gcc-4.3. llvm-svn: 57634
-
Duncan Sands authored
llvm-svn: 57633
-
Daniel Dunbar authored
- Implement fast path when value easily fits in a uint64. - ~6x faster, translates to 1-2% on Cocoa.h llvm-svn: 57632
-
Chris Lattner authored
llvm-svn: 57631
-
Chris Lattner authored
x86 backend. These will all be answered with "patches welcome", so a PR doesn't help drive them along. llvm-svn: 57630
-
Daniel Dunbar authored
llvm-svn: 57629
-
Chris Lattner authored
basically working, feel free to remove the tag. The other targets have really basic things that break them. llvm-svn: 57628
-
Zhongxing Xu authored
new VisitLValue method is added to replace the old VisitLVal. The semantics model becomes more explicit to separate rvalue evaluation from lvalue evaluation. llvm-svn: 57627
-
Chris Lattner authored
llvm-svn: 57626
-
Chris Lattner authored
llvm-svn: 57625
-
Daniel Dunbar authored
floats. - With testcase, which also has some other things GCC folds but we don't commented out in it. llvm-svn: 57624
-
Daniel Dunbar authored
is to encode the state of the #pragma pack stack as an attribute when the structure is declared. - Extend PackedAttr to take an alignment (in bits), and reuse for both __attribute__((packed)) (which takes no argument, instead packing tightly (to "minimize the memory required") and for #pragma pack (which allows specification of the maximum alignment in bytes). __attribute__((packed)) is just encoded as Alignment=1. This conflates two related but different mechanisms, but it didn't seem worth another attribute. - I have attempted to follow the MSVC semantics as opposed to the gcc ones, since if I understand correctly #pragma pack originated with MSVC. The semantics are generally equivalent except when the stack is altered during the definition of a structure; its not clear if anyone does this in practice. See testcase if curious. llvm-svn: 57623
-