Eric Christopher
b9f2d50d5f
Comment out fastisel debugging message.
...
llvm-svn: 115717
2010-10-05 23:50:58 +00:00
Chris Lattner
97b1368ae3
associate the instruction suffix letter with the integer gpr
...
register class, and use this to simplify use of BinOpRR.
llvm-svn: 115716
2010-10-05 23:43:04 +00:00
Chris Lattner
7359194b63
introduce a new BinOpRR class, and convert 4 and instructions to use it.
...
llvm-svn: 115715
2010-10-05 23:32:05 +00:00
Fariborz Jahanian
121f5148fd
Issue deprecated warning when typeof uses an
...
expression of deprecated type.
llvm-svn: 115713
2010-10-05 23:24:00 +00:00
Johnny Chen
36e40a8449
Modified to accomodate gcc, llvm-gcc, and clang as compilers.
...
Add a comment for 'breakpoint set -M C' not working correctly for clang.
llvm-svn: 115712
2010-10-05 23:15:41 +00:00
Eric Christopher
8cfc459274
Random cleanup and make the intermediate register in fptosi a
...
32-bit fp reg, not 64-bit.
Fixes SingleSource.
llvm-svn: 115711
2010-10-05 23:13:24 +00:00
Jakob Stoklund Olesen
4d5156c7d0
Count uses in all nested loops, not just the deepest.
...
llvm-svn: 115710
2010-10-05 23:10:12 +00:00
Jakob Stoklund Olesen
56e2925e6c
Remove SplitAnalysis::removeUse. It was only used to make SplitAnalysis
...
reusable, but that is no longer relevant since a split will always replace the
original.
llvm-svn: 115709
2010-10-05 23:10:09 +00:00
Jakob Stoklund Olesen
0445e2a053
dupli always has an interval now.
...
llvm-svn: 115708
2010-10-05 23:10:04 +00:00
Chris Lattner
cff5b0ea36
Move cmov pseudo instructions to InstrCompiler,
...
convert all the rest of the cmovs to the multiclass,
with good results:
X86InstrCMovSetCC.td | 598 +--------------------------------------------------
X86InstrCompiler.td | 61 +++++
2 files changed, 77 insertions(+), 582 deletions(-)
llvm-svn: 115707
2010-10-05 23:09:10 +00:00
Chris Lattner
1a1c600110
Use #NAME# to have the CMOV multiclass define things with the same names as before
...
(e.g. CMOVBE16rr instead of CMOVBErr16).
llvm-svn: 115705
2010-10-05 23:00:14 +00:00
Chris Lattner
b8ff8f0cb6
when david added support for #NAME# he didn't update the comments and
...
tried (but failed) to artificially constrain it to working with #NAME#.
Just allow any # in identifiers, and update the comments.
llvm-svn: 115704
2010-10-05 22:59:29 +00:00
Owen Anderson
c25b39702f
Another step towards getting rid of static ctors for pass registration: have INITIALIZE_PASS AND INITIALIZE_AG_PASS
...
expand to an initializeMyPass() function (in additional to the extant static ctors). Eventually, these will be called
from a big InitializeAllPasses() function, and the PassInfo's they create (which would be leaked if this code were used
at the moment) will be handed off to a PassRegistry for ownership.
llvm-svn: 115703
2010-10-05 22:58:16 +00:00
Chris Lattner
7538ed80a9
enhance tblgen to support anonymous defm's, use this to
...
simplify the X86 CMOVmr's.
llvm-svn: 115702
2010-10-05 22:51:56 +00:00
Chris Lattner
fa25dd9548
convert cmov mr patterns to use a multipattern. Death to redundancy
...
and verbosity
llvm-svn: 115701
2010-10-05 22:42:54 +00:00
John McCall
09d1369964
When instantiating a new-expression, force a rebuild if there were default
...
arguments in either the placement or constructor arguments. This is
important if the default arguments refer to a declaration or create a
temporary.
llvm-svn: 115700
2010-10-05 22:36:42 +00:00
Rafael Espindola
0ad137e98e
Implement more alias cases.
...
llvm-svn: 115699
2010-10-05 22:26:43 +00:00
Sean Callanan
85a0a83a26
Added handling for external variables in function
...
arguments to the expression parser. This means that
structs can be returned from the "expr" command.
llvm-svn: 115698
2010-10-05 22:26:43 +00:00
Chris Lattner
0067ee02f9
switch CMOVBE to the multipattern:
...
21 insertions(+), 53 deletions(-)
Moar change coming before I switch the rest.
llvm-svn: 115697
2010-10-05 22:23:58 +00:00
Jakob Stoklund Olesen
2dfa8be26a
We can split around loops with multiple exits now.
...
llvm-svn: 115696
2010-10-05 22:19:35 +00:00
Jakob Stoklund Olesen
89d276aa48
Update SplitEditor API to reflect the fact that the original live interval is
...
never kept after splitting.
Keeping the original interval made sense when the split region doesn't modify
the register, and the original is spilled. We can get the same effect by
detecting reloaded values when spilling around copies.
llvm-svn: 115695
2010-10-05 22:19:33 +00:00
Jakob Stoklund Olesen
b46d32367f
Intervals are half-open.
...
llvm-svn: 115694
2010-10-05 22:19:29 +00:00
Chris Lattner
907d86db22
fix a bug I introduced in r115669, which ended up with MOV64mr_TC
...
not getting marked as mayStore. This fixes llvm-gcc bootstrap.
llvm-svn: 115693
2010-10-05 22:16:48 +00:00
Chris Lattner
c3a767e9b0
add a multiclass for cmov's, but don't start using it yet.
...
llvm-svn: 115692
2010-10-05 22:01:02 +00:00
Bill Wendling
10a0fdeab5
PSHUFW is in SSE, not SSSE3.
...
llvm-svn: 115691
2010-10-05 21:58:12 +00:00
Chris Lattner
aa02c1c91d
use a multipattern to define setcc instructions:
...
X86InstrCMovSetCC.td | 200 ++++++---------------------------------------------
1 file changed, 27 insertions(+), 173 deletions(-)
llvm-svn: 115689
2010-10-05 21:34:29 +00:00
Rafael Espindola
3844da781f
256 sections should be enough for anyone...
...
llvm-svn: 115687
2010-10-05 21:20:07 +00:00
Chris Lattner
8f4f1d1136
move SETB pseudos into the same place in InstrCompiler.td
...
llvm-svn: 115686
2010-10-05 21:18:04 +00:00
Chris Lattner
13111b08fb
Replace a gross hack (the MOV64ri_alt instruction) with a slightly less
...
gross hack (having the asmmatcher handle the alias).
llvm-svn: 115685
2010-10-05 21:09:45 +00:00
Rafael Espindola
c58a37ea51
Don't crash in a strange .size directive.
...
llvm-svn: 115684
2010-10-05 21:02:45 +00:00
Fariborz Jahanian
c080a333ce
Method declaration and its implementation must match in all their types.
...
Previously, compiler warned only if it was unsafe if types
did not match. Fixes // rdar: //7933061
llvm-svn: 115683
2010-10-05 21:02:11 +00:00
John McCall
46b4dc32df
...without leaving a temporary file behind.
...
llvm-svn: 115671
2010-10-05 20:53:58 +00:00
John McCall
0ec01b0ca4
Er, this test should actually run IR generation.
...
llvm-svn: 115670
2010-10-05 20:53:00 +00:00
Chris Lattner
ab85ef9e55
distribute the rest of the contents of X86Instr64bit.td out to
...
the right places. X86Instr64bit.td now dies, long live x86-64!
llvm-svn: 115669
2010-10-05 20:49:15 +00:00
John McCall
e5dd32da11
Teach PopCleanupBlock to correctly handle the possibility of branching through
...
a EH-only cleanup as part of a fallthrough branch-through. That this happens
for this test case is actually a separate bug.
llvm-svn: 115668
2010-10-05 20:48:15 +00:00
Douglas Gregor
44e5c1f16c
Serialize the "inline" bit for namespaces. Fixes <rdar://problem/8515069>.
...
llvm-svn: 115667
2010-10-05 20:41:58 +00:00
Jakob Stoklund Olesen
671bab1c7d
When we find a reaching definition, make sure it is visited from all paths by
...
erasing it from the visited set. That ensures we create the right phi defs.
llvm-svn: 115666
2010-10-05 20:36:28 +00:00
Jakob Stoklund Olesen
b0cedd5f96
Don't use nextIndex to check for live out of instruction.
...
Insert copy after defining instruction.
Fix LiveIntervalMap::extendTo to properly handle live segments starting before
the current basic block.
Make sure the open live range is extended to the inserted copy's use slot.
llvm-svn: 115665
2010-10-05 20:36:25 +00:00
Jim Grosbach
c1526595b3
trailing whitespace
...
llvm-svn: 115664
2010-10-05 20:35:57 +00:00
Chris Lattner
27c763d342
move the rest of the simple 64-bit arithmetic into InstrArithmetic.td
...
llvm-svn: 115663
2010-10-05 20:35:37 +00:00
Duncan Sands
0e008f18cb
Remove trailing space. This is just an excuse to poke the
...
buildbots, since I seem to have blown up the build master :(
llvm-svn: 115662
2010-10-05 20:32:15 +00:00
Chris Lattner
c2f5e5764f
continue moving 64-bit stuff into X86InstrArithmetic.td
...
llvm-svn: 115660
2010-10-05 20:23:31 +00:00
Sean Callanan
f4b9bd3e74
Added support for (de)materializing values in registers,
...
so that expressions can use them.
llvm-svn: 115658
2010-10-05 20:18:48 +00:00
Michael J. Spencer
a65d17a5ca
Fix Punctuation.
...
llvm-svn: 115657
2010-10-05 19:48:12 +00:00
Michael J. Spencer
a3b34ed2df
MC-COFF: Fix (PR8278) temporary symbol relocations.
...
llvm-svn: 115656
2010-10-05 19:48:03 +00:00
Rafael Espindola
b91bac6c96
Add support for a fill value in the .zero directive.
...
llvm-svn: 115655
2010-10-05 19:42:57 +00:00
Johnny Chen
1d4cc2f06c
Add a test class to call lldb 'disassemble -n function' command on each call frame when stopped on C's ctor.
...
This is not a long running test so it shall always be exercised.
llvm-svn: 115653
2010-10-05 19:34:06 +00:00
Johnny Chen
67af43f04f
Make the test module with unique name instead of just the generic name TestDisassembly.
...
Add a utility function to lldbtest.py to get the native pointer size of the host os.
llvm-svn: 115652
2010-10-05 19:27:32 +00:00
Jakob Stoklund Olesen
9a414901db
Tweak VNInfo printing.
...
llvm-svn: 115650
2010-10-05 18:48:57 +00:00
Jakob Stoklund Olesen
1c9afa1aeb
Add assert for valid slot indexes.
...
llvm-svn: 115649
2010-10-05 18:48:55 +00:00