| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
ScheduleDAGEmit, TwoAddressLowering, and PHIElimination.
This switches the bulk of register copies to using COPY, but many less used
copyRegToReg calls remain.
llvm-svn: 108050
|
|
|
|
|
|
| |
at the end of the block.
llvm-svn: 108045
|
|
|
|
|
|
|
|
|
| |
- Check getBytesToPopOnReturn().
- Eschew ST0 and ST1 for return values.
- Fix the PIC base register initialization so that it doesn't ever
fail to end up the top of the entry block.
llvm-svn: 108039
|
|
|
|
| |
llvm-svn: 108023
|
|
|
|
| |
llvm-svn: 108013
|
|
|
|
| |
llvm-svn: 108012
|
|
|
|
| |
llvm-svn: 108010
|
|
|
|
| |
llvm-svn: 108005
|
|
|
|
| |
llvm-svn: 108001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inserted in a MBB, and return an already inserted MI.
This target API change is necessary to allow foldMemoryOperand to call
storeToStackSlot and loadFromStackSlot when folding a COPY to a stack slot
reference in a target independent way.
The foldMemoryOperandImpl hook is going to change in the same way, but I'll wait
until COPY folding is actually implemented. Most targets only fold copies and
won't need to specialize this hook at all.
llvm-svn: 107991
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
U utils/TableGen/FastISelEmitter.cpp
--- Reverse-merging r107943 into '.':
U test/CodeGen/X86/fast-isel.ll
U test/CodeGen/X86/fast-isel-loads.ll
U include/llvm/Target/TargetLowering.h
U include/llvm/Support/PassNameParser.h
U include/llvm/CodeGen/FunctionLoweringInfo.h
U include/llvm/CodeGen/CallingConvLower.h
U include/llvm/CodeGen/FastISel.h
U include/llvm/CodeGen/SelectionDAGISel.h
U lib/CodeGen/LLVMTargetMachine.cpp
U lib/CodeGen/CallingConvLower.cpp
U lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
U lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
U lib/CodeGen/SelectionDAG/FastISel.cpp
U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
U lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
U lib/CodeGen/SelectionDAG/InstrEmitter.cpp
U lib/CodeGen/SelectionDAG/TargetLowering.cpp
U lib/Target/XCore/XCoreISelLowering.cpp
U lib/Target/XCore/XCoreISelLowering.h
U lib/Target/X86/X86ISelLowering.cpp
U lib/Target/X86/X86FastISel.cpp
U lib/Target/X86/X86ISelLowering.h
llvm-svn: 107987
|
|
|
|
| |
llvm-svn: 107980
|
|
|
|
|
|
|
|
| |
SimpleRegisterCoalescing::RemoveCopyByCommutingDef.
This fixes PR7602.
llvm-svn: 107957
|
|
|
|
|
|
|
|
| |
intervals.
This fixes PR7601.
llvm-svn: 107955
|
|
|
|
| |
llvm-svn: 107950
|
|
|
|
| |
llvm-svn: 107949
|
|
|
|
|
|
| |
a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL.
llvm-svn: 107943
|
|
|
|
|
|
|
|
| |
disabled and then never turned back on again. Adjust some tests, one because
this change avoids an unnecessary instruction, and the other to make it
continue testing what it was intended to test.
llvm-svn: 107941
|
|
|
|
| |
llvm-svn: 107930
|
|
|
|
|
|
| |
This reverts commit 107921. It broke the clang self host.
llvm-svn: 107926
|
|
|
|
|
|
|
|
| |
coming from a inlined function.
This fixes PR7596 .
llvm-svn: 107923
|
|
|
|
|
|
| |
if the inline ASM doesn't need a stack frame.
llvm-svn: 107922
|
|
|
|
| |
llvm-svn: 107921
|
|
|
|
| |
llvm-svn: 107919
|
|
|
|
|
|
| |
using dwarf::DW_FORM_flag form.
llvm-svn: 107903
|
|
|
|
|
|
|
|
| |
the simplification of frame index register scavenging to not have to check
for available registers directly and instead just let scavengeRegister()
handle it.
llvm-svn: 107880
|
|
|
|
|
|
|
|
|
| |
EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead.
Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg().
The isMoveInstr hook will be removed later.
llvm-svn: 107879
|
|
|
|
|
|
|
| |
Fix X86InstrInfo::convertToThreeAddressWithLEA to generate COPY instead of
INSERT_SUBREG.
llvm-svn: 107878
|
|
|
|
|
|
| |
few more idioms.
llvm-svn: 107868
|
|
|
|
|
|
|
|
|
| |
This target hook is intended to replace copyRegToReg entirely, but for now it
calls copyRegToReg.
Any remaining calls to copyRegToReg wil be replaced by COPY instructions.
llvm-svn: 107854
|
|
|
|
|
|
| |
Debug info intrinsics win for now.
llvm-svn: 107850
|
|
|
|
|
|
|
|
| |
(if there are any) and use the one which remains available for the longest
rather than just using the first one. This should help enable better re-use
of the loaded frame index values. rdar://7318760
llvm-svn: 107847
|
|
|
|
|
|
|
| |
prefer to materialize as local constants. This fixes the clang
bootstrap abort.
llvm-svn: 107840
|
|
|
|
| |
llvm-svn: 107839
|
|
|
|
|
|
| |
Keep track of abstract subprogram DIEs.
llvm-svn: 107822
|
|
|
|
|
|
| |
for consistency sake.
llvm-svn: 107820
|
|
|
|
|
|
| |
didn't create a new block, don't reset the insert position.
llvm-svn: 107813
|
|
|
|
| |
llvm-svn: 107810
|
|
|
|
| |
llvm-svn: 107807
|
|
|
|
|
|
| |
a separate DCE pass over MachineInstrs.
llvm-svn: 107804
|
|
|
|
|
|
|
| |
a bunch of stuff, to allow the target-independent calling convention
logic to be employed.
llvm-svn: 107800
|
|
|
|
|
|
|
| |
position when emitting multiple blocks when executing a custom
inserter.
llvm-svn: 107797
|
|
|
|
| |
llvm-svn: 107796
|
|
|
|
| |
llvm-svn: 107795
|
|
|
|
|
|
|
|
| |
around everywhere, and also give it an InsertPt member, to enable isel
to operate at an arbitrary position within a block, rather than just
appending to a block.
llvm-svn: 107791
|
|
|
|
|
|
|
|
|
| |
instance, rather than pointers to all of FunctionLoweringInfo's
members.
This eliminates an NDEBUG ABI sensitivity.
llvm-svn: 107789
|
|
|
|
|
|
| |
allow target-specific fast-isel code to make use of it directly.
llvm-svn: 107787
|
|
|
|
|
|
| |
code can do calling-convention queries. This obviates OutputArgReg.
llvm-svn: 107786
|
|
|
|
| |
llvm-svn: 107781
|
|
|
|
| |
llvm-svn: 107780
|