| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
constants, since they may not be emited near the other instructions
which get the same line, and this confuses debug info.
llvm-svn: 108302
|
|
|
|
|
|
| |
This doesn't change the behavior of SelectBitcast for X86.
llvm-svn: 108073
|
|
|
|
|
|
|
| |
This assumes that the registers can be copied which is probably a safe
assumption.
llvm-svn: 108070
|
|
|
|
|
|
|
| |
The remaining copyRegToReg calls actually check the return value (shock!), so we
cannot trivially replace them with COPY instructions.
llvm-svn: 108069
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL.
llvm-svn: 107943
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Debug info intrinsics win for now.
llvm-svn: 107850
|
|
|
|
|
|
|
| |
prefer to materialize as local constants. This fixes the clang
bootstrap abort.
llvm-svn: 107840
|
|
|
|
|
|
| |
a separate DCE pass over MachineInstrs.
llvm-svn: 107804
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 107451
|
|
|
|
|
|
|
| |
from a Value to a Type, because it doesn't actually care about
the Value.
llvm-svn: 107383
|
|
|
|
|
|
|
| |
available in a register. This is pretty primitive, but it reduces the
number of instructions in common testcases by 4%.
llvm-svn: 107380
|
|
|
|
| |
llvm-svn: 107377
|
|
|
|
| |
llvm-svn: 106415
|
|
|
|
|
|
|
| |
the LocalValueMap, to make it more flexible when fast-isel isn't
proceding straight top-down.
llvm-svn: 106414
|
|
|
|
|
|
| |
on calls and similar instructions.
llvm-svn: 106353
|
|
|
|
| |
llvm-svn: 106279
|
|
|
|
|
|
|
|
|
|
|
|
| |
addresses a longstanding deficiency noted in many FIXMEs scattered
across all the targets.
This effectively moves the problem up one level, replacing eleven
FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path
through FastISel where we actually supply a DebugLoc, fixing Radar
7421831.
llvm-svn: 106243
|
|
|
|
| |
llvm-svn: 104645
|
|
|
|
|
|
| |
setting kill flags.
llvm-svn: 103832
|
|
|
|
|
|
| |
basic block.
llvm-svn: 103725
|
|
|
|
| |
llvm-svn: 103529
|
|
|
|
| |
llvm-svn: 103305
|
|
|
|
|
|
| |
lowered copies.
llvm-svn: 103228
|
|
|
|
|
|
| |
doesn't have to guess.
llvm-svn: 103194
|
|
|
|
| |
llvm-svn: 103139
|
|
|
|
|
|
| |
support a new bottom-up mode.
llvm-svn: 103138
|
|
|
|
|
|
|
| |
in registers into a separate function to de-couple it from the
top-down-specific logic in getRegForValue.
llvm-svn: 102975
|
|
|
|
|
|
| |
matching llvm.dbg.declare intrinsic is missing.
llvm-svn: 102513
|
|
|
|
|
|
| |
xs
llvm-svn: 102316
|
|
|
|
|
|
| |
itself too.
llvm-svn: 102176
|
|
|
|
|
|
| |
and into SelectionDAGBuilder and FastISel.
llvm-svn: 102123
|
|
|
|
| |
llvm-svn: 102110
|
|
|
|
|
|
| |
they end up doing nothing.
llvm-svn: 101904
|
|
|
|
|
|
| |
SelectionDAGBuilder, where it doesn't have to be as complicated.
llvm-svn: 101848
|
|
|
|
| |
llvm-svn: 101334
|
|
|
|
|
|
| |
a bunch of stuff to support it.
llvm-svn: 101273
|
|
|
|
| |
llvm-svn: 101210
|
|
|
|
| |
llvm-svn: 101148
|
|
|
|
|
|
|
| |
into AsmPrinter. Target-dependent form is still generated
by FastISel and still handled in X86 code.
llvm-svn: 100596
|
|
|
|
| |
llvm-svn: 100416
|
|
|
|
| |
llvm-svn: 100381
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
representation. This eliminates the 'DILocation' MDNodes for
file/line/col tuples from -O0 -g codegen.
This remove the old DebugLoc class, making it a typedef for DebugLoc,
I'll rename NewDebugLoc next.
I didn't update the JIT to use the new apis, so it will continue to
work, but be as slow as before. Someone should eventually do this
or, better yet, rip out the JIT debug info stuff and build the JIT
on top of MC.
llvm-svn: 100209
|
|
|
|
|
|
|
|
|
| |
instructions. In addition to being a convenience,
they are faster than the old apis, particularly when
not going from an MDKindID like people should be
doing.
llvm-svn: 99982
|
|
|
|
| |
llvm-svn: 98225
|