- Sep 25, 2008
-
-
Dan Gohman authored
llvm-svn: 56596
-
- Sep 23, 2008
-
-
Evan Cheng authored
llvm-svn: 56475
-
- Sep 22, 2008
-
-
Evan Cheng authored
llvm-svn: 56469
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- Aug 20, 2008
-
-
Dan Gohman authored
llvm-svn: 55049
-
- Aug 07, 2008
-
-
Dan Gohman authored
LowerSubregs, and fix an x86-64 isel bug that this exposed. SUBREG_TO_REG for x86-64 implicit zero extension is only safe for isel to generate when the source is known to always have zeros in the high 32 bits. The EXTRACT_SUBREG instruction does not clear the high 32 bits. llvm-svn: 54444
-
- Jul 18, 2008
-
-
Dan Gohman authored
Fix a leak that this turned up in LowerSubregs.cpp. And, comment a leak in LiveIntervalAnalysis.cpp. llvm-svn: 53746
-
- Jun 17, 2008
-
-
Evan Cheng authored
It's not safe to remove SUBREG_TO_REG that looks like identity copies, e.g. movl %eax, %eax on x86-64 actually does a zero-extend. llvm-svn: 52421
-
Evan Cheng authored
llvm-svn: 52373
-
- Jun 04, 2008
-
-
Evan Cheng authored
llvm-svn: 51949
-
Evan Cheng authored
llvm-svn: 51933
-
- 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
-
-
Christopher Lamb authored
llvm-svn: 48223
-
Evan Cheng authored
llvm-svn: 48221
-
- 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
-
- Feb 10, 2008
-
-
Dan Gohman authored
llvm-svn: 46930
-
- Dec 31, 2007
-
-
Owen Anderson authored
Machine-level API cleanup instigated by Chris. llvm-svn: 45470
-
Chris Lattner authored
that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. llvm-svn: 45467
-
- Dec 29, 2007
-
-
Chris Lattner authored
llvm-svn: 45418
-
- Oct 23, 2007
-
-
Evan Cheng authored
llvm-svn: 43249
-
- Sep 26, 2007
-
-
Evan Cheng authored
Tested with "make check"! llvm-svn: 42346
-
- Sep 14, 2007
-
-
Dan Gohman authored
isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular. llvm-svn: 41958
-
- Aug 10, 2007
-
-
Christopher Lamb authored
Move isSubRegOf into MRegisterInfo. Fix a missed move elimination in LowerSubregs and add more debugging output there. llvm-svn: 41005
-
- Aug 06, 2007
-
-
Christopher Lamb authored
llvm-svn: 40863
-
- Jul 26, 2007
-
-
Christopher Lamb authored
Add a MachineFunction pass, which runs post register allocation, that turns subreg insert/extract instruction into register copies. This ensures correct code gen if the coalescer isn't able to remove all subreg instructions. llvm-svn: 40521
-