- Mar 12, 2008
-
-
Owen Anderson authored
llvm-svn: 48278
-
Owen Anderson authored
feed the PHI instructions. We'll need these IDs in order to update LiveIntervals properly. llvm-svn: 48277
-
Evan Cheng authored
llvm-svn: 48274
-
Evan Cheng authored
llvm-svn: 48263
-
Evan Cheng authored
llvm-svn: 48261
-
- Mar 11, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 48257
-
Dan Gohman authored
that merely add passes. This allows them to be used with either FunctionPassManager or PassManager, or even with a custom new kind of pass manager. llvm-svn: 48256
-
Anton Korobeynikov authored
llvm-svn: 48249
-
Evan Cheng authored
llvm-svn: 48246
-
Dan Gohman authored
llvm-svn: 48245
-
Dan Gohman authored
llvm-svn: 48244
-
Christopher Lamb authored
llvm-svn: 48223
-
Evan Cheng authored
llvm-svn: 48221
-
Evan Cheng authored
When the register allocator runs out of registers, spill a physical register around the def's and use's of the interval being allocated to make it possible for the interval to target a register and spill it right away and restore a register for uses. This likely generates terrible code but is before than aborting. llvm-svn: 48218
-
Duncan Sands authored
enhancements. llvm-svn: 48215
-
Chris Lattner authored
into: _test: fldz ret instead of: _test: subl $12, %esp #IMPLICIT_DEF %xmm0 movsd %xmm0, (%esp) fldl (%esp) addl $12, %esp ret llvm-svn: 48213
-
Chris Lattner authored
llvm-svn: 48208
-
Dan Gohman authored
and it's the result that requires expansion. This code is a little confusing because the TargetLoweringInfo tables for [US]INT_TO_FP use the operand type (the integer type) rather than the result type. llvm-svn: 48206
-
Chris Lattner authored
verify the register constraint matches what the instruction expects. llvm-svn: 48205
-
Evan Cheng authored
llvm-svn: 48204
-
Dan Gohman authored
llvm-svn: 48201
-
Dan Gohman authored
llvm-svn: 48196
-
Dan Gohman authored
llvm-svn: 48194
-
Dan Gohman authored
llvm-svn: 48189
-
- Mar 10, 2008
-
-
Evan Cheng authored
llvm-svn: 48175
-
Dan Gohman authored
zero extension when checking if an unsigned multiply is safe. llvm-svn: 48171
-
Evan Cheng authored
llvm-svn: 48170
-
Evan Cheng authored
llvm-svn: 48169
-
Evan Cheng authored
llvm-svn: 48167
-
Scott Michel authored
return ValueType can depend its operands' ValueType. This is a cosmetic change, no functionality impacted. llvm-svn: 48145
-
Bill Wendling authored
llvm-svn: 48142
-
Evan Cheng authored
- Fix a subtle bug in RemoveCopyByCommutingDef. ALR is the live range where the source is defined; BLR is the live range which is defined by the copy. If ALR and BLR overlaps and end of BLR extends beyond end of ALR, e.g. A = or A, B ... B = A ... C = A<kill> ... = B then do not add kills of A to the newly created B interval. - Also fix some kill info update bug. llvm-svn: 48141
-
Evan Cheng authored
llvm-svn: 48140
-
Owen Anderson authored
Move StrongPHIElimination after live interval analysis. This will make things happier down the road. llvm-svn: 48138
-
Evan Cheng authored
Avoid creating BUILD_VECTOR of all zero elements of "non-normalized" type (e.g. v8i16 on x86) after legalizer. Instruction selection does not expect to see them. In all likelihood this can only be an issue in a bugpoint reduced test case. llvm-svn: 48136
-
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
-
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
-
-
Chris Lattner authored
llvm-svn: 48117
-
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
-