- Mar 10, 2008
-
-
Christopher Lamb authored
Change insert/extract subreg instructions to be able to be used in TableGen patterns. Use the above features to reimplement an x86-64 pseudo instruction as a pattern. llvm-svn: 48130
-
Nick Lewycky authored
llvm-svn: 48128
-
Christopher Lamb authored
llvm-svn: 48126
-
Christopher Lamb authored
Add support in TableGen for unknown operands that infer their type from the pattern their used in. This will be used to allow insert/extract subreg patterns in .td files! llvm-svn: 48125
-
Nick Lewycky authored
llvm-svn: 48123
-
Dale Johannesen authored
field to 32 bits, thus enabling correct handling of ByVal structs bigger than 0x1ffff. Abstract interface a bit. Fixes gcc.c-torture/execute/pr23135.c and gcc.c-torture/execute/pr28982b.c in gcc testsuite (were ICE'ing on ppc32, quietly producing wrong code on x86-32.) llvm-svn: 48122
-
- Mar 09, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 48121
-
Chris Lattner authored
two regression tests: test/CodeGen/PowerPC/2007-10-21-LocalRegAllocAssert.ll test/CodeGen/PowerPC/2007-10-21-LocalRegAllocAssert2.ll llvm-svn: 48120
-
Chris Lattner authored
cell really does support cross-regclass moves, because R3 is in lots of different regclasses, and the code is not consistent when it comes to value tracking. llvm-svn: 48119
-
Chris Lattner authored
llvm-svn: 48118
-
Chris Lattner authored
llvm-svn: 48117
-
Evan Cheng authored
llvm-svn: 48116
-
Ted Kremenek authored
- "Redefinition of I" (iterator masks previous definition) - include missing header file Patch by Argiris Kirtzidis! llvm-svn: 48115
-
Nick Lewycky authored
llvm-svn: 48112
-
Nick Lewycky authored
llvm-svn: 48111
-
Anton Korobeynikov authored
llvm-svn: 48110
-
Nick Lewycky authored
llvm-svn: 48109
-
Chris Lattner authored
they are produced by calls (which are known exact) and by cross block copies which are known to be produced by extends. This improves: define double @test2() { %tmp85 = call double asm sideeffect "fld0", "={st(0)}"() ret double %tmp85 } from: _test2: subl $20, %esp # InlineAsm Start fld0 # InlineAsm End fstpl 8(%esp) movsd 8(%esp), %xmm0 movsd %xmm0, (%esp) fldl (%esp) addl $20, %esp #FP_REG_KILL ret to: _test2: # InlineAsm Start fld0 # InlineAsm End #FP_REG_KILL ret by avoiding a f64 <-> f80 trip llvm-svn: 48108
-
Chris Lattner authored
an RFP register class. Teach ScheduleDAG how to handle CopyToReg with different src/dst reg classes. This allows us to compile trivial inline asms that expect stuff on the top of x87-fp stack. llvm-svn: 48107
-
Nick Lewycky authored
llvm-svn: 48106
-
Chris Lattner authored
in different register classes, e.g. copy of ST(0) to RFP*. This gets some really trivial inline asm working that plops things on the top of stack (PR879) llvm-svn: 48105
-
Chris Lattner authored
RST -> RFP{32/64/80}. We only handle ST(0) for now. llvm-svn: 48104
-
Tanya Lattner authored
llvm-svn: 48103
-
Chris Lattner authored
llvm-svn: 48101
-
Chris Lattner authored
llvm-svn: 48100
-
Nick Lewycky authored
Secondly, we have to check whether the branch is actually pointing to the block with the unwind in it. We could have gotten here because of the unwind_to alone. llvm-svn: 48099
-
Chris Lattner authored
codegen yet because these can't be spilled (they don't exist until after RA). llvm-svn: 48098
-
Chris Lattner authored
llvm-svn: 48097
-
Nick Lewycky authored
at all. llvm-svn: 48096
-
Gordon Henriksen authored
ocamldoc. It does not yet hook into the build system, though. Patch by Erick Tryzelaar! llvm-svn: 48095
-
Chris Lattner authored
llvm-svn: 48094
-
Chris Lattner authored
isel'ing value preserving FP roundings from one fp stack reg to another into a noop, instead of stack traffic. llvm-svn: 48093
-
Chris Lattner authored
llvm-svn: 48092
-
Chris Lattner authored
into a vector of zeros or undef, and when the top part is obviously zero, we can just use movd + shuffle. This allows us to compile vec_set-B.ll into: _test3: movl $1234567, %eax andl 4(%esp), %eax movd %eax, %xmm0 ret instead of: _test3: subl $28, %esp movl $1234567, %eax andl 32(%esp), %eax movl %eax, (%esp) movl $0, 4(%esp) movq (%esp), %xmm0 addl $28, %esp ret llvm-svn: 48090
-
Nick Lewycky authored
and also update the cloning interface's major user, the loop optimizations. llvm-svn: 48088
-
Nick Lewycky authored
llvm-svn: 48086
-
Nick Lewycky authored
Add the ability to remove just one instance of a BB from a phi node. This fixes the compile error in the tree now. llvm-svn: 48085
-
Nick Lewycky authored
removal of invoke, PR1269. llvm-svn: 48084
-
Chris Lattner authored
llvm-svn: 48064
-
Chris Lattner authored
#include <xmmintrin.h> __m128i doload64(short x) {return _mm_set_epi16(0,0,0,0,0,0,0,1);} into: movl $1, %eax movd %eax, %xmm0 ret instead of a constant pool load. llvm-svn: 48063
-