| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 55049
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Fix a leak that this turned up in LowerSubregs.cpp.
And, comment a leak in LiveIntervalAnalysis.cpp.
llvm-svn: 53746
|
|
|
|
|
|
| |
movl %eax, %eax on x86-64 actually does a zero-extend.
llvm-svn: 52421
|
|
|
|
| |
llvm-svn: 52373
|
|
|
|
| |
llvm-svn: 51949
|
|
|
|
| |
llvm-svn: 51933
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
failures.
llvm-svn: 48223
|
|
|
|
| |
llvm-svn: 48221
|
|
|
|
| |
llvm-svn: 48167
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 46930
|
|
|
|
|
|
| |
Machine-level API cleanup instigated by Chris.
llvm-svn: 45470
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
| |
llvm-svn: 43249
|
|
|
|
|
|
| |
Tested with "make check"!
llvm-svn: 42346
|
|
|
|
|
|
|
| |
isRegister, isImmediate, and isMachineBasicBlock, which are equivalent,
and more popular.
llvm-svn: 41958
|
|
|
|
|
|
| |
LowerSubregs and add more debugging output there.
llvm-svn: 41005
|
|
|
|
| |
llvm-svn: 40863
|
|
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
|