- Dec 19, 2007
-
-
Duncan Sands authored
to know about calls that cannot throw ('nounwind'): if such a call does throw for some reason then the personality will terminate the program. The distinction between an ordinary call and a nounwind call is that an ordinary call gets an entry in the exception table but a nounwind call does not. This patch sets up the exception table appropriately. One oddity is that I've chosen to bracket nounwind calls with labels (like invokes) - the other choice would have been to bracket ordinary calls with labels. While bracketing ordinary calls is more natural (because bracketing by labels would then correspond exactly to getting an entry in the exception table), I didn't do it because introducing labels impedes some optimizations and I'm guessing that ordinary calls occur more often than nounwind calls. This fixes the gcc filter2 eh test, at least at -O0 (the inliner needs some tweaking at higher optimization levels). llvm-svn: 45197
-
Scott Michel authored
llvm-svn: 45196
-
Bill Wendling authored
llvm-svn: 45190
-
Evan Cheng authored
llvm-svn: 45186
-
- Dec 18, 2007
-
-
Ted Kremenek authored
llvm-svn: 45182
-
Bill Wendling authored
llvm-svn: 45178
-
Christopher Lamb authored
from _foo: movl $99, %ecx movl 4(%esp), %eax subl %eax, %ecx xorl %edx, %edx testl %ecx, %ecx cmovs %edx, %eax ret to _foo: xorl %ecx, %ecx movl 4(%esp), %eax cmpl $99, %eax cmovg %ecx, %eax ret llvm-svn: 45173
-
Anton Korobeynikov authored
llvm-svn: 45172
-
Christopher Lamb authored
llvm-svn: 45170
-
Christopher Lamb authored
llvm-svn: 45169
-
Ted Kremenek authored
llvm-svn: 45168
-
Evan Cheng authored
llvm-svn: 45167
-
Chris Lattner authored
llvm-svn: 45165
-
Evan Cheng authored
llvm-svn: 45164
-
Chris Lattner authored
llvm-svn: 45163
-
Chris Lattner authored
llvm-svn: 45161
-
Duncan Sands authored
doesNotThrow. llvm-svn: 45160
-
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
-
Evan Cheng authored
FIX for PR1799: When a load is unfolded from an instruction, check if it is a new node. If not, do not create a new SUnit. llvm-svn: 45157
-
Evan Cheng authored
llvm-svn: 45151
-
Christopher Lamb authored
Don't forget to print address space qualifiers when printing out the type table! Thanks to Gordon Henriksen for pointing this out. llvm-svn: 45147
-
Chris Lattner authored
llvm-svn: 45141
-
Evan Cheng authored
llvm-svn: 45140
-
Bill Wendling authored
based what flag to set on whether it was already marked as "isRematerializable". If there was a further check to determine if it's "really" rematerializable, then I marked it as "mayHaveSideEffects" and created a check in the X86 back-end similar to the remat one. llvm-svn: 45132
-
- Dec 17, 2007
-
-
Evan Cheng authored
it's auto-upgraded to a shufflevector instruction. llvm-svn: 45131
-
Scott Michel authored
- New test case: nand.ll llvm-svn: 45130
-
Ted Kremenek authored
std::vector<char> starting from any index in the vector. llvm-svn: 45129
-
Bill Wendling authored
llvm-svn: 45128
-
Bill Wendling authored
flags clearer. llvm-svn: 45120
-
Duncan Sands authored
how to lower them (with no attempt made to be efficient, since they should only occur for unoptimized code). llvm-svn: 45108
-
David Greene authored
GLIBCXX_DEBUG fix. std::vector<>::end() is invalidated by erase. llvm-svn: 45101
-
David Greene authored
Get rid of annoying spaces. llvm-svn: 45100
-
David Greene authored
passed the erased element. llvm-svn: 45099
-
Gordon Henriksen authored
for Ocaml-based compilers targeting embedded devices. :) llvm-svn: 45096
-
Christopher Lamb authored
llvm-svn: 45085
-
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
-
Christopher Lamb authored
Make it clear in the LangRef that allocation instructions only operated on the generic address space. Implement support in the verifier for ensuring this is true. llvm-svn: 45080
-
- Dec 16, 2007
-
-
Duncan Sands authored
changed not to reject invoke of inline asm. llvm-svn: 45077
-
Chris Lattner authored
llvm-svn: 45076
-