- Feb 17, 2009
-
-
Dan Gohman authored
modified in a way that may effect the trip count calculation. Change IndVars to use this method when it rewrites pointer or floating-point induction variables instead of using a doInitialization method to sneak these changes in before ScalarEvolution has a chance to see the loop. This eliminates the need for LoopPass to depend on ScalarEvolution. llvm-svn: 64810
-
Chris Lattner authored
eliminate all the extensions and all but the one required truncate from the testcase, but the or/and/shift stuff still isn't zapped. llvm-svn: 64809
-
Argyrios Kyrtzidis authored
llvm-svn: 64808
-
Argyrios Kyrtzidis authored
llvm-svn: 64806
-
Argyrios Kyrtzidis authored
llvm-svn: 64805
-
Argyrios Kyrtzidis authored
llvm-svn: 64804
-
Argyrios Kyrtzidis authored
llvm-svn: 64802
-
Argyrios Kyrtzidis authored
Pass the DeclContext to ObjCIvarDecls as well. llvm-svn: 64801
-
Fariborz Jahanian authored
llvm-svn: 64800
-
Ted Kremenek authored
llvm-svn: 64799
-
Daniel Dunbar authored
llvm-svn: 64798
-
Dan Gohman authored
llvm-svn: 64796
-
Dan Gohman authored
llvm-svn: 64791
-
Ted Kremenek authored
Enhance tests to exercise more combinations of using the RangeConstraintManager with the RegionStoreManager. llvm-svn: 64788
-
Ted Kremenek authored
Zhongxing Xu. The resultant code is less than 1/2 the size of the original. Key highlights: - All CouldBeXXX methods have been removed. Checking for feasibility is now just done in the AddXXX methods. - RangeSets now represent "all possible values" explicitly as the range set { [min, max] } instead of the empty set. The empty set now represents "no feasible values". This change consolidated much of the core algorithm to only have one code path instead of alternate paths that considered the empty set to represent "all possible falues." llvm-svn: 64787
-
Ted Kremenek authored
llvm-svn: 64786
-
Dan Gohman authored
llvm-svn: 64784
-
Daniel Dunbar authored
clang doesn't support yet. - See PR3603. llvm-svn: 64783
-
Douglas Gregor authored
llvm-svn: 64781
-
Daniel Dunbar authored
IRgen no longer relies on isConstantInitializer, instead we just try to emit the constant. If that fails then in C we emit an error unsupported (this occurs when Sema accepted something that it doesn't know how to fold, and IRgen doesn't know how to emit) and in C++ we emit a guarded initializer. This ends up handling a few more cases, because IRgen was actually able to emit some of the constants Sema accepts but can't Evaluate(). For example, PR3398. llvm-svn: 64780
-
Daniel Dunbar authored
llvm-svn: 64779
-
Fariborz Jahanian authored
general use; as for, objc2's gc type attributes. No change in functionality. llvm-svn: 64778
-
Daniel Dunbar authored
llvm-svn: 64776
-
Daniel Dunbar authored
llvm-svn: 64775
-
Daniel Dunbar authored
llvm-svn: 64774
-
Duncan Sands authored
llvm-svn: 64773
-
Ted Kremenek authored
llvm-svn: 64772
-
Ben Laurie authored
llvm-svn: 64771
-
Ben Laurie authored
llvm-svn: 64770
-
Mike Stump authored
llvm-svn: 64769
-
Mike Stump authored
llvm-svn: 64768
-
Douglas Gregor authored
much pain when compiling the Linux kernel (PR3592). llvm-svn: 64767
-
Dan Gohman authored
llvm-svn: 64766
-
Daniel Dunbar authored
llvm-svn: 64765
-
Chris Lattner authored
diagnostics. I'm not sure I want to keep this, but hey, it's easy and could be useful or something, even if guarded by a -fshow-me-tons-of-details option. A silly example is: #define A B #define C A #define D C int y = D; We now emit: t.c:11:9: error: use of undeclared identifier 'B' int y = D; ^ t.c:9:11: note: instantiated from: #define D C ^ t.c:8:11: note: instantiated from: #define C A ^ t.c:7:11: note: instantiated from: #define A B ^ A more useful example is from tgmath: t.c:4:9: error: no matching function for call to '__tg_acos' return acos(x); ^~~~~~~ /Users/sabre/llvm/Debug/Headers/tgmath-sofar.h:51:17: note: instantiated from: #define acos(x) __tg_acos(x) ^ ... candidate set follows ... This does not yet print ranges in instantiation info, (e.g. highlighting the range "__tg_acos(x)" in the last example), but that could be added if we decide this is a good idea :). Thoughts and bug reports welcome! llvm-svn: 64761
-
Chris Lattner authored
llvm-svn: 64760
-
Chris Lattner authored
t.c:4:9: error: invalid type 'short *' to __real operator __tg_choose (__real__(z), C##f(z), (C)(z), C##l(z)), ^ instead of: t.c:4:9: error: invalid type 'short *' to __real or __imag operator __tg_choose (__real__(z), C##f(z), (C)(z), C##l(z)), ^ fixing a fixme. It would be even fancier to get the spelling of the token, but I don't care *that* much :) llvm-svn: 64759
-
Chris Lattner authored
llvm-svn: 64758
-
Daniel Dunbar authored
llvm-svn: 64757
-
Daniel Dunbar authored
llvm-svn: 64756
-