- Mar 05, 2010
-
-
Eric Christopher authored
No functionality change. llvm-svn: 97793
-
Jeffrey Yasskin authored
llvm-svn: 97792
-
Chris Lattner authored
node which has a flag. That flag in turn was used by an already-selected adde which turned into an ADC32ri8 which used a selected load which was chained to the load we folded. This flag use caused us to form a cycle. Fix this by not ignoring chains in IsLegalToFold even in cases where the isel thinks it can. llvm-svn: 97791
-
Chris Lattner authored
llvm-svn: 97790
-
Chris Lattner authored
llvm-svn: 97789
-
Jeffrey Yasskin authored
llvm-svn: 97788
-
Mikhail Glushenkov authored
As in 'llvmc -O2 -O2 test.c'. llvm-svn: 97787
-
Mikhail Glushenkov authored
Allows us to find executables that are in the same directory. llvm-svn: 97786
-
Evan Cheng authored
llvm-svn: 97782
-
Dan Gohman authored
llvm-svn: 97781
-
Chris Lattner authored
llvm-svn: 97780
-
Dan Gohman authored
llvm-svn: 97779
-
Dan Gohman authored
rounding correctly. This implementation is a generalization of the x86_64 code in compiler-rt. This fixes rdar://7683708. llvm-svn: 97778
-
Johnny Chen authored
llvm-svn: 97776
-
Evan Cheng authored
Add missing break for Intrinsic::objectsize case. It was falling through to the following Intrinsic::bswap code. I have no idea why it wasn't breaking stuff. llvm-svn: 97774
-
Chris Lattner authored
llvm-svn: 97772
-
Chris Lattner authored
Don't build any of the dynamic library stuff on cygwin/mingw. llvm-svn: 97771
-
Chris Lattner authored
llvm-svn: 97770
-
Chris Lattner authored
llvm-svn: 97769
-
Bill Wendling authored
llvm-svn: 97768
-
Bill Wendling authored
This code: float floatingPointComparison(float x, float y) { double product = (double)x * y; if (product == 0.0) return product; return product - 1.0; } produces this: _floatingPointComparison: 0000000000000000 cvtss2sd %xmm1,%xmm1 0000000000000004 cvtss2sd %xmm0,%xmm0 0000000000000008 mulsd %xmm1,%xmm0 000000000000000c pxor %xmm1,%xmm1 0000000000000010 ucomisd %xmm1,%xmm0 0000000000000014 jne 0x00000004 0000000000000016 jp 0x00000002 0000000000000018 jmp 0x00000008 000000000000001a addsd 0x00000006(%rip),%xmm0 0000000000000022 cvtsd2ss %xmm0,%xmm0 0000000000000026 ret The "jne/jp/jmp" sequence can be reduced to this instead: _floatingPointComparison: 0000000000000000 cvtss2sd %xmm1,%xmm1 0000000000000004 cvtss2sd %xmm0,%xmm0 0000000000000008 mulsd %xmm1,%xmm0 000000000000000c pxor %xmm1,%xmm1 0000000000000010 ucomisd %xmm1,%xmm0 0000000000000014 jp 0x00000002 0000000000000016 je 0x00000008 0000000000000018 addsd 0x00000006(%rip),%xmm0 0000000000000020 cvtsd2ss %xmm0,%xmm0 0000000000000024 ret for a savings of 2 bytes. This xform can happen when we recognize that jne and jp jump to the same "true" MBB, the unconditional jump would jump to the "false" MBB, and the "true" branch is the fall-through MBB. llvm-svn: 97766
-
Dale Johannesen authored
llvm-svn: 97765
-
Devang Patel authored
llvm-svn: 97764
-
Jeffrey Yasskin authored
llvm-svn: 97763
-
- Mar 04, 2010
-
-
Johnny Chen authored
of either sxtb16 or uxtb16, and the unified syntax does not specify ".w". llvm-svn: 97760
-
Jeffrey Yasskin authored
positive where pointers would be leaked on llvm_shutdown. llvm-svn: 97759
-
Jim Grosbach authored
as nounwind are marked with a -1 call-site value. This is necessary to, for example, correctly process exceptions thrown from within an "unexpected" execption handler (see SingleSource/Regression/C++/EH/expection_spec_test.cpp). llvm-svn: 97757
-
Bob Wilson authored
frame pointer. llvm-svn: 97755
-
Evan Cheng authored
llvm-svn: 97752
-
Evan Cheng authored
llvm-svn: 97747
-
Bob Wilson authored
an undef value. This is only going to come up for bugpoint-reduced tests -- correct programs will not access memory at undefined addresses -- so it's not worth the effort of doing anything more aggressive. llvm-svn: 97745
-
Erick Tryzelaar authored
We need this so can not bake DESTDIR into the O'Caml symlinks. llvm-svn: 97743
-
Jakob Stoklund Olesen authored
These instructions technically define AL,AH, but a trick in X86ISelDAGToDAG reads AX in order to avoid reading AH with a REX instruction. Fix PR6489. llvm-svn: 97742
-
Dan Gohman authored
clobber registers in a different order. llvm-svn: 97741
-
Chris Lattner authored
llvm-svn: 97740
-
Chris Lattner authored
register if it isn't possible to match the indexes *and* the base. This fixes some fast isel rejects of load instructions on oggenc. llvm-svn: 97739
-
Chris Lattner authored
llvm-svn: 97738
-
Jeffrey Yasskin authored
just count references to it from JIT output to decide when to destroy it. This patch waits to destroy the JIT's memory of a stub until the Function it refers to is destroyed. External function stubs and GVIndirectSyms aren't destroyed until the JIT itself is. llvm-svn: 97737
-
Dan Gohman authored
llvm-svn: 97735
-
Johnny Chen authored
Instruction (PLI) for disassembly only. According to A8.6.120 PLI (immediate, literal), for example, different instructions are generated for "pli [pc, #0]" and "pli [pc, #-0"]. The disassembler solves it by mapping -0 (negative zero) to -1, -1 to -2, ..., etc. llvm-svn: 97731
-