Bob Wilson
9e8c9204ef
--- Reverse-merging r107947 into '.':
...
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
2010-07-09 16:37:18 +00:00
Gabor Greif
4d1241bddb
cache result of operator*
...
llvm-svn: 107984
2010-07-09 16:31:08 +00:00
Gabor Greif
fc355ccebb
cache result of operator*
...
llvm-svn: 107983
2010-07-09 16:26:41 +00:00
Gabor Greif
e249fc8808
cache result of operator*
...
llvm-svn: 107982
2010-07-09 16:22:36 +00:00
Gabor Greif
9259059af3
cache result of operator*
...
llvm-svn: 107981
2010-07-09 16:17:52 +00:00
Gabor Greif
7ac6b2bae4
cache result of operator*
...
llvm-svn: 107980
2010-07-09 16:08:33 +00:00
Gabor Greif
1674456c37
cache result of operator*
...
llvm-svn: 107979
2010-07-09 16:01:21 +00:00
Gabor Greif
1277447002
cache result of operator*
...
llvm-svn: 107978
2010-07-09 15:53:42 +00:00
Gabor Greif
9096841571
cache result of operator*
...
llvm-svn: 107977
2010-07-09 15:52:36 +00:00
Gabor Greif
6184b1a2fa
cache result of operator*
...
llvm-svn: 107976
2010-07-09 15:40:10 +00:00
Gabor Greif
4d54dede01
cache result of operator*
...
llvm-svn: 107975
2010-07-09 15:25:42 +00:00
Gabor Greif
dcaa85787c
cache result of operator*
...
llvm-svn: 107974
2010-07-09 15:25:09 +00:00
Gabor Greif
72d36e30a0
cache result of operator*
...
llvm-svn: 107972
2010-07-09 15:01:36 +00:00
Gabor Greif
00ab305f37
cache result of operator* (found by inspection)
...
llvm-svn: 107971
2010-07-09 14:48:08 +00:00
Gabor Greif
4d880ebd36
fix clang selfhost issue (shadowing)
...
llvm-svn: 107970
2010-07-09 14:46:49 +00:00
Gabor Greif
9ac508494f
cache result of operator*
...
llvm-svn: 107969
2010-07-09 14:36:49 +00:00
Gabor Greif
a9fbbe2dbb
cache result of operator*
...
llvm-svn: 107968
2010-07-09 14:29:14 +00:00
Gabor Greif
6c80602356
cache result of operator*
...
llvm-svn: 107967
2010-07-09 14:28:41 +00:00
Gabor Greif
a5fdd0955d
cache result of operator*
...
llvm-svn: 107966
2010-07-09 14:18:23 +00:00
Gabor Greif
cda479a708
cache operator*'s result (in multiple functions)
...
llvm-svn: 107965
2010-07-09 14:02:13 +00:00
Gabor Greif
0da64e7003
refactor type expressions and cache operator*'s result
...
llvm-svn: 107964
2010-07-09 14:00:56 +00:00
Gabor Greif
7bc80c7586
do not repeatedly dereference use_iterator
...
llvm-svn: 107963
2010-07-09 13:17:13 +00:00
Gabor Greif
9e2aa5d5d7
do not repeatedly dereference use_iterator
...
llvm-svn: 107962
2010-07-09 12:23:50 +00:00
Gabor Greif
17ddf2d1fa
two more cases of reuse result of operator*, found by inspection
...
llvm-svn: 107961
2010-07-09 10:42:13 +00:00
Gabor Greif
01db29c828
another case of reuse result of operator*, it is expensive to recompute
...
llvm-svn: 107960
2010-07-09 10:32:31 +00:00
Gabor Greif
d266b0fcd8
reuse result of operator*, it is expensive to recompute
...
llvm-svn: 107959
2010-07-09 09:50:51 +00:00
Lang Hames
67f0ebc5c6
Added a support for inserting new MBBs into the numbering.
...
Unlike insertMachineInstrInMaps this does not guarantee live intervals will
remain correct. The caller will need to manually update intervals to account
for the changes made to the CFG.
llvm-svn: 107958
2010-07-09 09:19:23 +00:00
Jakob Stoklund Olesen
e0dcc33889
Avoid creating %physreg:subidx operands in SimpleRegisterCoalescing::RemoveCopyByCommutingDef.
...
This fixes PR7602.
llvm-svn: 107957
2010-07-09 05:56:21 +00:00
Jakob Stoklund Olesen
2be8142157
Deal with a few remaining spots that assume physical registers have live intervals.
...
This fixes PR7601.
llvm-svn: 107955
2010-07-09 04:35:38 +00:00
Bruno Cardoso Lopes
144923dccf
Merge VEX enums with other x86 enum forms. Also fix all checks of which VEX
...
fields to use.
llvm-svn: 107952
2010-07-09 01:56:45 +00:00
Jakob Stoklund Olesen
b4c406a101
Fix test to be less sensitive of regalloc accidents
...
llvm-svn: 107951
2010-07-09 01:32:11 +00:00
Jakob Stoklund Olesen
daef6696d5
Fix broken isCopy handling in TrimLiveIntervalToLastUse.
...
llvm-svn: 107950
2010-07-09 01:27:21 +00:00
Jakob Stoklund Olesen
7824ff3af8
Handle COPY in VirtRegRewriter.
...
llvm-svn: 107949
2010-07-09 01:27:19 +00:00
Dan Gohman
dad9d461c3
Fix the memoperand offsets in code generated for va_start.
...
llvm-svn: 107948
2010-07-09 01:06:48 +00:00
Dan Gohman
6a1edee90f
These changes should have accompanied r107943.
...
llvm-svn: 107947
2010-07-09 00:59:16 +00:00
Chris Lattner
a5c1c795a2
have the mc lowering process handle a few tail call forms, lowering them to
...
jumps where possible and turning the TAILCALL marker in the instruction
asm string into a proper comment.
This eliminates a FIXME and is on the path to finishing:
rdar://7639610 - eliminate encoding and asm info for TAILJMPd TAILJMPr TAILJMPn, etc.
However, I can't eliminate the encodings for these instructions because the JIT
still exists and has its own copy of the encoder, sigh.
llvm-svn: 107946
2010-07-09 00:49:41 +00:00
Bob Wilson
f15e542bdc
Print "dregpair" NEON operands with a space between them, for readability and
...
consistency with other instructions that have lists of register operands.
llvm-svn: 107944
2010-07-09 00:47:20 +00:00
Dan Gohman
7e6e4dd058
Re-apply bottom-up fast-isel, with fixes. Be very careful to avoid emitting
...
a DBG_VALUE after a terminator, or emitting any instructions before an EH_LABEL.
llvm-svn: 107943
2010-07-09 00:39:23 +00:00
Bruno Cardoso Lopes
a6bfda61b9
Factor out x86 segment override prefix encoding, and also use it for VEX
...
llvm-svn: 107942
2010-07-09 00:38:14 +00:00
Bob Wilson
dd02fe62a2
Reenable DAG combining for vector shuffles. It looks like it was temporarily
...
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
2010-07-09 00:38:12 +00:00
Chris Lattner
fe434abafa
reject pseudo instructions early in the encoder.
...
llvm-svn: 107939
2010-07-09 00:17:50 +00:00
Bruno Cardoso Lopes
f00a155876
Remove trailing whitespaces from file
...
llvm-svn: 107937
2010-07-09 00:07:19 +00:00
Chris Lattner
49ac65543c
Change LEA to have 5 operands for its memory operand, just
...
like all other instructions, even though a segment is not
allowed. This resolves a bunch of gross hacks in the
encoder and makes LEA more consistent with the rest of the
instruction set.
No functionality change.
llvm-svn: 107934
2010-07-08 23:46:44 +00:00
Stuart Hastings
a3999081cf
Reverting r107918 and r107919. Radar 8063111.
...
llvm-svn: 107930
2010-07-08 23:25:39 +00:00
Jakob Stoklund Olesen
099946a71b
Revert "Fix broken isCopy handling in TrimLiveIntervalToLastUse"
...
This reverts commit 107921. It broke the clang self host.
llvm-svn: 107926
2010-07-08 22:52:47 +00:00
Chris Lattner
18802e1a55
add some long-overdue enums to refer to the parts of the 5-operand
...
X86 memory operand.
llvm-svn: 107925
2010-07-08 22:41:28 +00:00
Devang Patel
2abdcdfb40
Relax assertion. In optimized code, it is possible that first instruction is coming from a inlined function.
...
This fixes PR7596 .
llvm-svn: 107923
2010-07-08 22:39:20 +00:00
Bill Wendling
8f0fcd1623
Extension of r107506. Make sure that we don't mark a function as having a call
...
if the inline ASM doesn't need a stack frame.
llvm-svn: 107922
2010-07-08 22:38:02 +00:00
Jakob Stoklund Olesen
1ecf890d62
Fix broken isCopy handling in TrimLiveIntervalToLastUse
...
llvm-svn: 107921
2010-07-08 22:30:38 +00:00
Jakob Stoklund Olesen
1ae7342eaf
Remember the VR64 register class
...
llvm-svn: 107920
2010-07-08 22:30:35 +00:00