- Jun 17, 2008
-
-
Ted Kremenek authored
llvm-svn: 52384
-
Chris Lattner authored
of value info (sign/zero ext info) from one MBB to another. This doesn't handle much right now because of two limitations: 1) only handles zext/sext, not random bit propagation (no assert exists for this) 2) doesn't handle phis. llvm-svn: 52383
-
Eli Friedman authored
which made it work. llvm-svn: 52382
-
Duncan Sands authored
llvm-svn: 52381
-
Ted Kremenek authored
Fix indentation of class declarations in ExprCXX.h llvm-svn: 52380
-
Ted Kremenek authored
llvm-svn: 52379
-
Ted Kremenek authored
clang as a Release build. The big change is that all AST nodes (subclasses of Stmt) whose children are Expr* store their children as Stmt* or arrays of Stmt*. This is to remove strict-aliasing warnings when using StmtIterator. None of the interfaces of any of the classes have changed (except those with arg_iterators, see below), as the accessor methods introduce the needed casts (via cast<>). While this extra casting may seem cumbersome, it actually adds some important sanity checks throughout the codebase, as clients using StmtIterator can potentially overwrite children that are expected to be Expr* with Stmt* (that aren't Expr*). The casts provide extra sanity checks that are operational in debug builds to catch invariant violations such as these. For classes that have arg_iterators (e.g., CallExpr), the definition of arg_iterator has been replaced. Instead of it being Expr**, it is an actual class (called ExprIterator) that wraps a Stmt**, and provides the necessary operators for iteration. The nice thing about this class is that it also uses cast<> to type-checking, which introduces extra sanity checks throughout the codebase that are useful for debugging. A few of the CodeGen functions that use arg_iterator (especially from OverloadExpr) have been modified to take begin and end iterators instead of a base Expr** and the number of arguments. This matches more with the abstraction of iteration. This still needs to be cleaned up a little bit, as clients expect that ExprIterator is a RandomAccessIterator (which we may or may not wish to allow for efficiency of representation). This is a fairly large patch. It passes the tests (except CodeGen/bitfield.c, which was already broken) on both a Debug and Release build, but it should obviously be reviewed. llvm-svn: 52378
-
Evan Cheng authored
Rather than avoiding to wrap ISD::DECLARE GV operand in X86ISD::Wrapper, simply handle it at dagisel time with x86 specific isel code. llvm-svn: 52377
-
Ted Kremenek authored
llvm-svn: 52376
-
Ted Kremenek authored
llvm-svn: 52375
-
Chris Lattner authored
llvm-svn: 52374
-
Evan Cheng authored
llvm-svn: 52373
-
Ted Kremenek authored
Add color diagnostics from scan-build, and indicate the number of bugs found (if any). llvm-svn: 52372
-
Dan Gohman authored
when changing the stride of a comparison so that it's slightly more precise, by having it scan the instruction list to determine if there is a use of the condition after the point where the condition will be inserted. llvm-svn: 52371
-
- Jun 16, 2008
-
-
Ted Kremenek authored
llvm-svn: 52370
-
Ted Kremenek authored
llvm-svn: 52367
-
Ted Kremenek authored
llvm-svn: 52366
-
Chris Lattner authored
this speeds up the linking testcase in PR1860 by 44% (.379 -> 0.263) llvm-svn: 52365
-
Chris Lattner authored
llvm-svn: 52364
-
Evan Cheng authored
llvm-svn: 52363
-
Ted Kremenek authored
llvm-svn: 52362
-
Evan Cheng authored
llvm-svn: 52361
-
Gabor Greif authored
llvm-svn: 52360
-
Ted Kremenek authored
llvm-svn: 52359
-
Chris Lattner authored
a vector with a linear search. This speeds up the linking testcase in PR1860 from 0.965s to 0.385s on my system. llvm-svn: 52357
-
Ted Kremenek authored
Move NSString.m test case from Analysis-Apple to Analysis. The test case now works on all platforms. llvm-svn: 52354
-
Evan Cheng authored
- Add "Commutative" property to intrinsics. This allows tblgen to generate the commuted variants for dagisel matching code. - Mark lots of X86 intrinsics as "Commutative" to allow load folding. llvm-svn: 52353
-
Evan Cheng authored
llvm-svn: 52352
-
Chris Lattner authored
llvm-svn: 52351
-
Chris Lattner authored
llvm-svn: 52350
-
Ted Kremenek authored
llvm-svn: 52349
-
Ted Kremenek authored
llvm-svn: 52348
-
Chris Lattner authored
the testcases in PR1860 from taking more than 1 hour (when I killed it) to taking 1s. llvm-svn: 52347
-
Ted Kremenek authored
llvm-svn: 52346
-
Owen Anderson authored
llvm-svn: 52345
-
Ted Kremenek authored
llvm-svn: 52344
-
Ted Kremenek authored
Moved CFDate.m from test/Analysis-Apple to test/Analysis, and added the necessary declarations from Foundation.h to CFDate.m so that the test case can be exercised on all platforms. llvm-svn: 52343
-
Chris Lattner authored
llvm-svn: 52341
-
Chris Lattner authored
client that cares and simplifying its control flow. Remove the DestST argument to ResolveTypes and RecursiveResolveTypes* which are dead now. llvm-svn: 52340
-
Evan Cheng authored
llvm-svn: 52339
-