- Dec 18, 2007
-
-
Christopher Lamb authored
llvm-svn: 45159
-
Christopher Lamb authored
Fold certain additions through selects (and their compares) so as to eliminate subtractions. This code is often produced by the SMAX expansion in SCEV. This implements test/Transforms/InstCombine/2007-12-18-AddSelCmpSub.ll llvm-svn: 45158
-
- Dec 17, 2007
-
-
David Greene authored
Get rid of annoying spaces. llvm-svn: 45100
-
David Greene authored
passed the erased element. llvm-svn: 45099
-
Christopher Lamb authored
Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space. llvm-svn: 45082
-
- Dec 16, 2007
-
-
Duncan Sands authored
calls. Remove special casing of inline asm from the inliner. There is a potential problem: the verifier rejects invokes of inline asm (not sure why). If an asm call is not marked "nounwind" in some .ll, and instcombine is not run, but the inliner is run, then an illegal module will be created. This is bad but I'm not sure what the best approach is. I'm tempted to remove the check in the verifier... llvm-svn: 45073
-
- Dec 13, 2007
-
-
Evan Cheng authored
llvm-svn: 44997
-
Evan Cheng authored
llvm-svn: 44981
-
- Dec 12, 2007
-
-
Wojciech Matyjewicz authored
2. Using zero-extended value of Scale and unsigned division is safe provided that Scale doesn't have the sign bit set. Previously these 2 instructions: %p = bitcast [100 x {i8,i8,i8}]* %x to i8* %q = getelementptr i8* %p, i32 -4 were combined into: %q = getelementptr [100 x { i8, i8, i8 }]* %x, i32 0, i32 1431655764, i32 0 what was incorrect. llvm-svn: 44936
-
Evan Cheng authored
llvm-svn: 44905
-
Evan Cheng authored
Bug fix. Only safe to perform extension uses optimization if the source of extension is also defined in the same BB as the extension. llvm-svn: 44896
-
- Dec 10, 2007
-
-
Duncan Sands authored
on functions as it calculates them. llvm-svn: 44802
-
- Dec 08, 2007
-
-
Owen Anderson authored
Fix several cache coherence bugs in MemDep/GVN that were found. Also add some (disabled) debugging code to make such problems easier to diagnose in the future, written by Duncan Sands. llvm-svn: 44695
-
- Dec 06, 2007
-
-
Chris Lattner authored
llvm-svn: 44655
-
Chris Lattner authored
llvm-svn: 44650
-
Evan Cheng authored
If both result of the {s|z}xt and its source are live out, rewrite all uses of the source with result of extension. llvm-svn: 44643
-
- Dec 03, 2007
-
-
Duncan Sands authored
throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). llvm-svn: 44544
-
Chris Lattner authored
llvm-svn: 44543
-
Devang Patel authored
insert new ExitValue after this operand definition. This fixes PR1828. llvm-svn: 44539
-
- Dec 01, 2007
-
-
Duncan Sands authored
into alias analysis. This meant updating the API which now has versions of the getModRefBehavior, doesNotAccessMemory and onlyReadsMemory methods which take a callsite parameter. These should be used unless the callsite is not known, since in general they can do a better job than the versions that take a function. Also, users should no longer call the version of getModRefBehavior that takes both a function and a callsite. To reduce the chance of misuse it is now protected. llvm-svn: 44487
-
- Nov 29, 2007
-
-
Owen Anderson authored
llvm-svn: 44437
-
- Nov 28, 2007
-
-
Duncan Sands authored
use them. llvm-svn: 44403
-
- Nov 27, 2007
-
-
Duncan Sands authored
the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
-
Owen Anderson authored
Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. This involves a small interface change. llvm-svn: 44348
-
- Nov 26, 2007
-
-
Owen Anderson authored
llvm-svn: 44325
-
Owen Anderson authored
llvm-svn: 44323
-
Anton Korobeynikov authored
llvm-svn: 44320
-
- Nov 25, 2007
-
-
Chris Lattner authored
llvm-svn: 44318
-
Duncan Sands authored
trivial difference in function attributes, allow calls to it to be converted to direct calls. Based on a patch by Török Edwin. While there, move the various lists of mutually incompatible parameters etc out of the verifier and into ParameterAttributes.h. llvm-svn: 44315
-
- Nov 23, 2007
-
-
Chris Lattner authored
llvm-svn: 44293
-
Duncan Sands authored
from the old ADCE implementation (there it was correct because the transform was being done for read-only functions). llvm-svn: 44287
-
Chris Lattner authored
llvm-svn: 44284
-
- Nov 22, 2007
-
-
Duncan Sands authored
llvm-svn: 44280
-
Duncan Sands authored
exceptions, so don't turn invokes of them into calls. llvm-svn: 44278
-
- Nov 21, 2007
-
-
Nick Lewycky authored
llvm-svn: 44262
-
- Nov 19, 2007
-
-
Dan Gohman authored
llvm-svn: 44234
-
- Nov 17, 2007
-
-
Dale Johannesen authored
fix an occasional nonrepeatable bootstrap failure we've been seeing on Darwin. llvm-svn: 44202
-
- Nov 16, 2007
-
-
Chris Lattner authored
llvm-svn: 44188
-
- Nov 14, 2007
-
-
Chris Lattner authored
by inserting unreachable after no-return calls. llvm-svn: 44099
-
- Nov 13, 2007
-
-
Chris Lattner authored
and simplifycfg in the rare cases when it is needed. llvm-svn: 44044
-