- Jul 07, 2008
-
-
Dan Gohman authored
llvm-svn: 53177
-
- Jul 03, 2008
-
-
Evan Cheng authored
- Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc. - Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list. llvm-svn: 53097
-
Evan Cheng authored
llvm-svn: 53060
-
Owen Anderson authored
Make LiveVariables even more optional, by making it optional in the call to TargetInstrInfo::convertToThreeAddressInstruction Also, if LV isn't around, then TwoAddr doesn't need to be updating flags, since they won't have been set in the first place. llvm-svn: 53058
-
- Jul 01, 2008
-
-
Dan Gohman authored
the need for a flavor operand, and add a new SDNode subclass, LabelSDNode, for use with them to eliminate the need for a label id operand. Change instruction selection to let these label nodes through unmodified instead of creating copies of them. Teach the MachineInstr emitter how to emit a MachineInstr directly from an ISD label node. This avoids the need for allocating SDNodes for the label id and flavor value, as well as SDNodes for each of the post-isel label, label id, and label flavor. llvm-svn: 52943
-
- Jun 24, 2008
-
-
Evan Cheng authored
If it's determined safe, remat MOV32r0 (i.e. xor r, r) and others as it is instead of using the longer MOV32ri instruction. llvm-svn: 52670
-
- Jun 16, 2008
-
-
Evan Cheng authored
llvm-svn: 52308
-
- Jun 06, 2008
-
-
Duncan Sands authored
and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). llvm-svn: 52044
-
- May 23, 2008
-
-
Dan Gohman authored
load-folding table entries for PMULDQ and PMULLD. llvm-svn: 51489
-
- May 14, 2008
-
-
Dan Gohman authored
This eliminates the need for several awkward casts, including the last dynamic_cast under lib/Target. llvm-svn: 51091
-
- May 12, 2008
-
-
Bill Wendling authored
"is{Trivially,Really}ReMaterializable" methods. llvm-svn: 51001
-
- May 02, 2008
-
-
Evan Cheng authored
llvm-svn: 50578
-
Evan Cheng authored
Not safe folding a load + FsXORPSrr into FsXORPSrm. It's loading a FR64 value but the load folding variant expects a 16-byte aligned address. llvm-svn: 50574
-
- Apr 21, 2008
-
-
Nicolas Geoffray authored
llvm-svn: 50007
-
- Apr 17, 2008
-
-
Evan Cheng authored
llvm-svn: 49830
-
- Apr 16, 2008
-
-
Nicolas Geoffray authored
Infrastructure for getting the machine code size of a function and an instruction. X86, PowerPC and ARM are implemented llvm-svn: 49809
-
- Apr 07, 2008
-
-
Dan Gohman authored
review feedback from Chris quite a while ago. No functionality change. llvm-svn: 49348
-
- Apr 02, 2008
-
-
Evan Cheng authored
ReMat of load from stub in pic mode extends the life of pic base. Currently spiller doesn't do a good job of estimating the impact. Disable for now. llvm-svn: 49059
-
- Apr 01, 2008
-
-
Evan Cheng authored
llvm-svn: 49054
-
Evan Cheng authored
llvm-svn: 49037
-
Evan Cheng authored
llvm-svn: 49002
-
- Mar 31, 2008
-
-
Evan Cheng authored
llvm-svn: 48995
-
Evan Cheng authored
llvm-svn: 48977
-
- Mar 28, 2008
-
-
Evan Cheng authored
llvm-svn: 48922
-
Evan Cheng authored
llvm-svn: 48911
-
- Mar 27, 2008
-
-
Evan Cheng authored
llvm-svn: 48856
-
Evan Cheng authored
llvm-svn: 48855
-
Evan Cheng authored
llvm-svn: 48854
-
- Mar 25, 2008
-
-
Dan Gohman authored
other things, this allows the scheduler to unfold a load operand in the 2008-01-08-SchedulerCrash.ll testcase, so it now successfully clones the comparison to avoid a pushf+popf. llvm-svn: 48777
-
- Mar 21, 2008
-
-
Chris Lattner authored
ST(0)/ST(1). llvm-svn: 48634
-
- Mar 16, 2008
-
-
Christopher Lamb authored
Make insert_subreg a two-address instruction, vastly simplifying LowerSubregs pass. Add a new TII, subreg_to_reg, which is like insert_subreg except that it takes an immediate implicit value to insert into rather than a register. llvm-svn: 48412
-
- Mar 13, 2008
-
-
Christopher Lamb authored
Get rid of a pseudo instruction and replace it with subreg based operation on real instructions, ridding the asm printers of the hack used to do this previously. In the process, update LowerSubregs to be careful about eliminating copies that have side affects. Note: the coalescer will have to be careful about this too, when it starts coalescing insert_subreg nodes. llvm-svn: 48329
-
- Mar 11, 2008
-
-
Chris Lattner authored
llvm-svn: 48241
-
Chris Lattner authored
llvm-svn: 48240
-
Christopher Lamb authored
llvm-svn: 48224
-
Chris Lattner authored
llvm-svn: 48199
-
- Mar 10, 2008
-
-
Evan Cheng authored
llvm-svn: 48167
-
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
-
- Mar 09, 2008
-
-
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
-
Chris Lattner authored
RST -> RFP{32/64/80}. We only handle ST(0) for now. llvm-svn: 48104
-