- Apr 03, 2010
-
-
Chris Lattner authored
exits the loop. With this information we can guarantee the iteration count of the loop is bounded by the compare. I think this xforms is finally safe now. llvm-svn: 100285
-
Chris Lattner authored
checker. Amusingly, we already had tests that we should have rejects because they would be miscompiled in the testsuite. The remaining issue with this is that we don't check that the branch causes us to exit the loop if it fails, so we don't actually know if we remain in bounds. llvm-svn: 100284
-
Chris Lattner authored
to a signed vs unsigned value depending on the sign of the constant fp means that we can't distinguish between a truly negative number and a positive number so large the 32nd bit is set. So, do don't this! llvm-svn: 100283
-
Chris Lattner authored
stuff. More bugs remain though. llvm-svn: 100282
-
Chris Lattner authored
the required validity checks in the first place, and supporting a condition large enough to require the 32'nd bit isn't worth it. llvm-svn: 100280
-
Chris Lattner authored
of llvm. llvm-svn: 100276
-
Chris Lattner authored
no uses, it would have been deleted by RecursivelyDeleteTriviallyDeadInstructions llvm-svn: 100275
-
Chris Lattner authored
llvm-svn: 100274
-
Chris Lattner authored
llvm-svn: 100273
-
Chris Lattner authored
llvm-svn: 100272
-
Chris Lattner authored
are in the same block. Insert the new increment in the correct location. Also, more cleanups. llvm-svn: 100271
-
Chris Lattner authored
this cleans up a bunch of code and also fixes several crashes and miscompiles. More to come unfortunately, this optimization is quite broken. llvm-svn: 100270
-
Evan Cheng authored
llvm-svn: 100262
-
- Apr 02, 2010
-
-
Mon P Wang authored
llvm-svn: 100199
-
Mon P Wang authored
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset, e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) llvm-svn: 100191
-
Dan Gohman authored
it can't currently observe such changes automatically. llvm-svn: 100186
-
- Apr 01, 2010
-
-
Gabor Greif authored
is necessary. Inherits from new templated baseclass CallSiteBase<> which is highly customizable. Base CallSite on it too, in a configuration that allows full mutation. Adapt some call sites in analyses to employ ImmutableCallSite. llvm-svn: 100100
-
- Mar 31, 2010
-
-
Dale Johannesen authored
generate wrong code pretty much anywhere AFAICT. A case that hits the bug reproducibly is impossible, but the situation was like this: Addr = ... Store -> Addr Addr2 = GEP , 0, 0 Store -> Addr2 Handling the first store, the code changed replaced Addr with a sunkaddr and deleted Addr, but not its table entry. Code in OptimizedBlock replaced Addr2 with a bitcast; if that happened to reuse the memory of Addr, the old table entry was erroneously found when handling the second store. llvm-svn: 100044
-
Bob Wilson authored
llvm-svn: 99948
-
- Mar 30, 2010
-
-
Mon P Wang authored
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1) A update of langref will occur in a subsequent checkin. llvm-svn: 99928
-
- Mar 27, 2010
-
-
Jeffrey Yasskin authored
pointer. There was also a SmallPtrSet whose settiness wasn't being used, so I changed it to a SmallVector. llvm-svn: 99713
-
Jeffrey Yasskin authored
llvm-svn: 99711
-
Jeffrey Yasskin authored
MemoizedResultChart. llvm-svn: 99710
-
- Mar 26, 2010
-
-
Dan Gohman authored
llvm-svn: 99580
-
Gabor Greif authored
llvm-svn: 99564
-
- Mar 25, 2010
-
-
Chris Lattner authored
llvm-svn: 99488
-
- Mar 24, 2010
-
-
Evan Cheng authored
llvm-svn: 99418
-
Gabor Greif authored
I have audited all getOperandNo calls now, fixing hidden assumptions. CallSite related uglyness will be eliminated successively. Note this patch has a long and griveous history, for all the back-and-forths have a look at CallSite.h's log. llvm-svn: 99399
-
Gabor Greif authored
llvm-svn: 99395
-
- Mar 23, 2010
-
-
Bill Wendling authored
llvm-svn: 99324
-
Evan Cheng authored
Teach simplify libcall to transform __strcpy_chk to __memcpy_chk to enable optimizations down stream. llvm-svn: 99282
-
- Mar 22, 2010
-
-
Gabor Greif authored
llvm-svn: 99171
-
Gabor Greif authored
we can reapply the InvokeInst operand reordering patch. (see r98957). llvm-svn: 99170
-
- Mar 20, 2010
-
-
Dan Gohman authored
so that the SCEVExpander doesn't retain a dangling pointer as its insert position. The dangling pointer in this case wasn't ever used to insert new instructions, but it was causing trouble with SCEVExpander's code for automatically advancing its insert position past debug intrinsics. This fixes use-after-free errors that valgrind noticed in test/Transforms/IndVarSimplify/2007-06-06-DeleteDanglesPtr.ll and test/Transforms/IndVarSimplify/exit_value_tests.ll. llvm-svn: 99036
-
- Mar 19, 2010
-
-
Gabor Greif authored
back out r98957, it broke http://smooshlab.apple.com:8010/builders/clang-x86_64-darwin10-fnt/builds/703 in the nightly test suite llvm-svn: 98958
-
Gabor Greif authored
This time I did a self-hosted bootstrap on Linux x86-64, with no problems. Let's see how darwin 64-bit self-hosting goes. At the first sign of failure I'll back this out. Maybe the valgrind bots give me a hint of what may be wrong (it at all). llvm-svn: 98957
-
- Mar 16, 2010
-
-
Benjamin Kramer authored
str[r]chr returns its pointer argument so we cannot mark it as nocapture. Thanks to Duncan for spotting my mistake. llvm-svn: 98671
-
Benjamin Kramer authored
llvm-svn: 98663
-
- Mar 15, 2010
-
-
Devang Patel authored
llvm-svn: 98584
-
Devang Patel authored
In "empty" bb, the return instruction may not be first instruction, if dbg value intrinsics are present in this bb. Use terminator to find return instructions. llvm-svn: 98565
-