Chris Lattner
55115233db
reduce indentation by eliminating 'else after return'
...
llvm-svn: 96889
2010-02-23 05:51:07 +00:00
Chris Lattner
8a5eea0929
reapply my cellspu changes with a fix to not break the old isel.
...
llvm-svn: 96885
2010-02-23 05:30:43 +00:00
Dan Gohman
f8e12a593d
Update LangRef to match the code; pointers default to being 64-bit.
...
llvm-svn: 96873
2010-02-23 02:44:03 +00:00
Dan Gohman
f1ac231d17
Revert 96854, 96852, and 96849, unbreaking test/CodeGen/CellSPU/i64ops.ll.
...
llvm-svn: 96871
2010-02-23 02:33:29 +00:00
Chris Lattner
42f0bd1d2c
X86InstrInfoSSE.td declares PINSRW as having type v8i16,
...
don't alis it in the MMX .td file with a different width,
split into two X86ISD opcodes. This fixes an x86 testcase.
llvm-svn: 96859
2010-02-23 02:07:48 +00:00
Johnny Chen
9077a6f901
Added versions of VCGE, VCGT, VCLE, and VCLT NEON instructions which compare to
...
(immediate #0 ) for disassembly only.
A8.6.283, A8.6.285, A8.6.287, A8.6.290
llvm-svn: 96856
2010-02-23 01:42:58 +00:00
Chris Lattner
cffb96542a
fix hte last cellspu failure.
...
llvm-svn: 96854
2010-02-23 01:37:39 +00:00
Chris Lattner
0872bdfb41
hack around more crimes in instruction selection.
...
llvm-svn: 96852
2010-02-23 01:33:17 +00:00
Dan Gohman
0891078790
Convert this test to FileCheck and add a testcase for PR3574.
...
llvm-svn: 96851
2010-02-23 01:28:09 +00:00
Chris Lattner
c175e45976
the cell backend is making all sorts of unsafe and incorrect assumptions
...
about ownership and update policies. It isn't clear why it is doing all
this lowering at isel time instead of in legalize. This fixes fcmp64.ll
llvm-svn: 96849
2010-02-23 01:20:00 +00:00
Chris Lattner
49b1b721fc
really fix an off-by-one error
...
llvm-svn: 96845
2010-02-23 01:07:39 +00:00
Chris Lattner
ac4672fba5
fix an off-by-one error.
...
llvm-svn: 96844
2010-02-23 01:07:09 +00:00
Chris Lattner
68fd68d9ff
switch the value# in OPC_CompleteMatch and OPC_EmitNode to use a
...
VBR encoding for the insanity being perpetrated by the spu backend.
llvm-svn: 96843
2010-02-23 00:59:59 +00:00
Johnny Chen
b35408e8df
Added VCEQ (immediate #0 ) NEON instruction for disassembly only.
...
A8.6.281
llvm-svn: 96838
2010-02-23 00:33:12 +00:00
Jakob Stoklund Olesen
890a5e50fc
Dead code elimination
...
llvm-svn: 96837
2010-02-23 00:28:53 +00:00
Jeffrey Yasskin
d5509ca6a2
Fix viewCFG on Linux.
...
llvm-svn: 96834
2010-02-23 00:04:53 +00:00
Chris Lattner
49ec9f853e
add a new Push2 opcode for targets (like cellspu) which have
...
ridiculously ginormous patterns and need more than one byte
of displacement for encodings. This fixes CellSPU/fdiv.ll.
SPU is still doing something else ridiculous though.
llvm-svn: 96833
2010-02-22 23:55:39 +00:00
Evan Cheng
8096221984
These should not have been committed.
...
llvm-svn: 96827
2010-02-22 23:37:48 +00:00
Chris Lattner
c4fea4c8a1
no need to run llvm-as here.
...
llvm-svn: 96826
2010-02-22 23:34:12 +00:00
Evan Cheng
d9816ef946
Instcombine constant folding can normalize gep with negative index to index with large offset. When instcombine objsize checking transformation sees these geps where the offset seemingly point out of bound, it should just return "i don't know" rather than asserting.
...
llvm-svn: 96825
2010-02-22 23:34:00 +00:00
Chris Lattner
fbca302fe2
Change ComplexPattern handling to push the node being matched as
...
well as the operands produced when the pattern is matched. This
allows CheckSame to work correctly when matching replicated
names involving ComplexPatterns. This fixes a bunch of MSP430
failures, we're down to 13 failures, two of which are
due to a sched bug.
llvm-svn: 96824
2010-02-22 23:33:44 +00:00
Jim Grosbach
c4ab116a90
Updated version of r96634 (which was reverted due to failing 176.gcc and
...
126.gcc nightly tests. These failures uncovered latent bugs that machine DCE
could remove one half of a stack adjust down/up pair, causing PEI to assert.
This update fixes that, and the tests now pass.
llvm-svn: 96822
2010-02-22 23:10:38 +00:00
Dan Gohman
fa70dbe3f7
Add a test for canonicalizing ConstantExpr operands.
...
llvm-svn: 96820
2010-02-22 23:07:52 +00:00
Jim Grosbach
4aea6e93c8
Clean up a bit and fix for when SPAdj != 0
...
llvm-svn: 96818
2010-02-22 22:54:55 +00:00
Jim Grosbach
8ae3bf1f1e
The predicate index isn't fixed, so scan for it to make sure we get the proper
...
value.
Thumb2 uses the tADJCALLSTACK* instructions, and doesn't need t2 versions, so
remove the FIXME entry.
llvm-svn: 96817
2010-02-22 22:47:46 +00:00
Dan Gohman
97481fb5e0
Canonicalize ConstantInts to the right operand of commutative
...
operators.
The test difference is just due to the multiplication operands
being commuted (and thus requiring a more elaborate match). In
optimized code, that expression would be folded.
llvm-svn: 96816
2010-02-22 22:43:23 +00:00
Chris Lattner
e4d3e9772a
expand my hack to work with nodes that have flags but no chains and the
...
isel doesn't know the correct # results. This fixes 8 codegen tests,
down to 22 failures.
llvm-svn: 96815
2010-02-22 22:37:11 +00:00
Chris Lattner
1613c59dbe
add a new CheckMultiOpcode opcode for checking that a node
...
has one of the list of acceptable opcodes for a complex
pattern. This fixes 4 regtest failures.
llvm-svn: 96814
2010-02-22 22:30:37 +00:00
Chris Lattner
b77c4c6a30
When matching patterns that have a complex pattern as their root, make
...
sure to only run the complex pattern on nodes where the target opts in.
This patch only handles targets with one opcode specified so far, but
fixes 16 failures, only 34 left.
llvm-svn: 96813
2010-02-22 22:18:05 +00:00
Chris Lattner
b9f6931c4a
add some debug hooks for tracking the behavior of the isel.
...
llvm-svn: 96812
2010-02-22 22:15:39 +00:00
Chris Lattner
4b14d5146f
remove dupes now.
...
llvm-svn: 96811
2010-02-22 22:15:05 +00:00
Chris Lattner
d9ac0d21f4
move #includes earlier.
...
llvm-svn: 96810
2010-02-22 22:14:47 +00:00
Daniel Dunbar
2097684f80
MC/Mach-O: Remove non-sensical comment, and add a missing AddValueSymbols call.
...
llvm-svn: 96809
2010-02-22 22:08:57 +00:00
Dan Gohman
90cc88c00f
Minor formatting cleanup.
...
llvm-svn: 96808
2010-02-22 22:07:27 +00:00
Dan Gohman
0a0f1d2ee2
Use Instruction::isCommutative instead of duplicating it.
...
llvm-svn: 96807
2010-02-22 22:05:18 +00:00
Johnny Chen
0e6c232f0e
Added SEL, SXTB16, SXTAB16, UXTAB16, SMMULR, SMMLAR, SMMLSR, SMUAD, and SMUSD,
...
for disassembly only.
llvm-svn: 96806
2010-02-22 21:50:40 +00:00
Bob Wilson
e075edf725
Erase deleted instructions from GVN's ValueTable. This fixes assertion
...
failures from ValueTable::verifyRemoved() when using -debug.
llvm-svn: 96805
2010-02-22 21:39:41 +00:00
Dan Gohman
8f672b95f2
Actually enable the -enable-unsafe-fp-math tests.
...
llvm-svn: 96796
2010-02-22 18:53:26 +00:00
Johnny Chen
bdb1fdccfb
Added a bunch of instructions for disassembly only:
...
o signed/unsigned add/subtract
o signed/unsigned halving add/subtract
o unsigned sum of absolute difference [and accumulate]
o signed/unsigned saturate
o signed multiply accumulate/subtract [long] dual
llvm-svn: 96795
2010-02-22 18:50:54 +00:00
Arnold Schwaighofer
8427969f9c
Mark the return address stack slot as mutable when moving the return address
...
during a tail call. A parameter might overwrite this stack slot during the tail
call.
The sequence during a tail call is:
1.) load return address to temp reg
2.) move parameters (might involve storing to return address stack slot)
3.) store return address to new location from temp reg
If the stack location is marked immutable CodeGen can colocate load (1) with the
store (3).
This fixes bug 6225.
llvm-svn: 96783
2010-02-22 16:18:09 +00:00
Daniel Dunbar
7bf531b515
LLVMC/MultiplePluginPriorities.td: Generally XFAIL this test for now, it is
...
still failing during (one) llvm-gcc powerpc build, and is also failing on my
x86_64-apple-darwin10.
llvm-svn: 96781
2010-02-22 05:55:32 +00:00
Dan Gohman
2575392bf1
Remove unused variables and parameters.
...
llvm-svn: 96780
2010-02-22 04:11:59 +00:00
Dan Gohman
835086ef52
Fix various doxygen warnings.
...
llvm-svn: 96779
2010-02-22 04:10:52 +00:00
Dan Gohman
733388cdcf
Fix a typo in a comment.
...
llvm-svn: 96778
2010-02-22 04:09:26 +00:00
Dan Gohman
dcc3634e46
Constant-fold certain comparisons with infinity and negative infinity.
...
llvm-svn: 96777
2010-02-22 04:06:03 +00:00
Dan Gohman
7804dbce6e
Rename a variable to avoid a -Wshadow warning.
...
llvm-svn: 96776
2010-02-22 04:04:24 +00:00
Dan Gohman
c281a5da15
Remove the logic for reasoning about NaNs from the code that forms
...
SSE min and max instructions. The real thing this code needs to be
concerned about is negative zero.
Update the sse-minmax.ll test accordingly, and add tests for
-enable-unsafe-fp-math mode as well.
llvm-svn: 96775
2010-02-22 04:03:39 +00:00
Dan Gohman
c44dee5fbd
When emitting an instruction which depends on both a post-incremented
...
induction variable value and a loop-variant value, don't force the
insert position to be at the post-increment position, because it may
not be dominated by the loop-variant value. This fixes a
use-before-def problem noticed on PPC.
llvm-svn: 96774
2010-02-22 03:59:54 +00:00
Dan Gohman
8c51905154
This cast<Instruction> is unnecessary.
...
llvm-svn: 96771
2010-02-22 02:07:36 +00:00
Chris Lattner
8b7f191696
enhance my hack for flags handling, this allows us to pass
...
CodeGen/X86/pr2182.ll. Down to 13 x86 failures out of ~1100
llvm-svn: 96770
2010-02-22 00:47:38 +00:00