1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 06:22:56 +02:00
Commit Graph

36414 Commits

Author SHA1 Message Date
Owen Anderson
b5be87349c Copies need to be inserted before the first terminator, not at the end of the block.
llvm-svn: 45791
2008-01-10 00:01:41 +00:00
Evan Cheng
ba0214a6cb Special copy SUnit's do not have SDNode's.
llvm-svn: 45787
2008-01-09 23:01:55 +00:00
Owen Anderson
62bb891e23 Clean up StrongPHIElimination a bit, and add some more comments to the internal structures. There's
still more work to do on this front.

llvm-svn: 45783
2008-01-09 22:40:54 +00:00
Duncan Sands
e97a9a373a Fix compile failures with g++-4.3.
llvm-svn: 45781
2008-01-09 19:42:09 +00:00
Chris Lattner
68e4b52d98 many cleanups and fixed, contributed by Sam Bishop
llvm-svn: 45780
2008-01-09 19:28:50 +00:00
Owen Anderson
9555739636 StrongPHIElim: Now with even fewer trivial bugs!
llvm-svn: 45775
2008-01-09 10:41:39 +00:00
Owen Anderson
c937ae34a5 Fix an infinite recursion bug in InsertCopies.
llvm-svn: 45774
2008-01-09 10:32:30 +00:00
Owen Anderson
01e1f23391 Fix some simple bugs. StrongPHIElimination now does not crash on 164.gzip.
llvm-svn: 45773
2008-01-09 06:19:05 +00:00
Evan Cheng
f91cfb435f Fix sse2.psrl.w and sse2.psrl.q definitions.
llvm-svn: 45772
2008-01-09 02:16:44 +00:00
Chris Lattner
2570c282eb Fix llvm-ld -Xlinker, patch by Daniel Teske!
llvm-svn: 45770
2008-01-09 01:01:17 +00:00
Chris Lattner
c465555fe6 add a testcase
llvm-svn: 45768
2008-01-09 00:37:18 +00:00
Chris Lattner
4253eeaeb3 add a note
llvm-svn: 45766
2008-01-09 00:17:57 +00:00
Chris Lattner
c93ad7d569 Make load->store deletion a bit smarter. This allows us to compile this:
void test(long long *P) { *P ^= 1; }

into just:

_test:
	movl	4(%esp), %eax
	xorl	$1, (%eax)
	ret

instead of code like this:

_test:
	movl	4(%esp), %ecx
        xorl    $1, (%ecx)
	movl	4(%ecx), %edx
	movl	%edx, 4(%ecx)
	ret

llvm-svn: 45762
2008-01-08 23:08:06 +00:00
Owen Anderson
3d5485728a Rename registers that do not need copies.
llvm-svn: 45759
2008-01-08 21:54:52 +00:00
Duncan Sands
b3b1ae18ab Crashes llc when using Chris's new legalization logic.
llvm-svn: 45758
2008-01-08 21:51:53 +00:00
Ted Kremenek
8461cdc206 Added "getRoot()" to ImmutableMap.
Made the ctor for ImmutableMap to construct a map from an AVL tree public.

llvm-svn: 45756
2008-01-08 21:05:59 +00:00
Ted Kremenek
9d742fd3c4 Fixed 80 col. violation.
llvm-svn: 45752
2008-01-08 19:38:55 +00:00
Chris Lattner
9b7b3ade8f add a mayLoad property for machine instructions, a correlary to mayStore.
This is currently not set by anything.

llvm-svn: 45748
2008-01-08 18:05:21 +00:00
Duncan Sands
6f28b87039 Use size_t to store Pos, avoid truncating value
on 64-bit builds.  Analysis and original patch
by Török Edwin.  Code audit found another place
with the same problem, also fixed here.

llvm-svn: 45746
2008-01-08 10:06:15 +00:00
Chris Lattner
67f581b344 Implement PR1795, an instcombine hack for forming GEPs with integer pointer arithmetic.
llvm-svn: 45745
2008-01-08 07:23:51 +00:00
Chris Lattner
a39e69f292 add match support for casts.
llvm-svn: 45744
2008-01-08 07:02:44 +00:00
Chris Lattner
aeab9aefb3 remove darwin/i386 t-t
llvm-svn: 45743
2008-01-08 06:52:51 +00:00
Chris Lattner
cafc567fb7 Finally implement correct ordered comparisons for PPC, even though
the code generated is not wonderful.  This turns a miscompilation into
a code quality bug (noted in the ppc readme).  This fixes PR642, which
is over 2 years old (!).  Nate, please review this.

llvm-svn: 45742
2008-01-08 06:46:30 +00:00
Chris Lattner
7853f9d2df Testcase for PR1721
llvm-svn: 45739
2008-01-08 05:16:29 +00:00
Owen Anderson
23abe71f4d Actually insert copies now!
llvm-svn: 45738
2008-01-08 05:16:15 +00:00
Chris Lattner
3ca4e2df70 Fix PR1797
llvm-svn: 45736
2008-01-08 04:26:20 +00:00
Evan Cheng
e7fd8ad117 Minor fix to enable x86-64 pic jit (still fails for other reasons).
llvm-svn: 45734
2008-01-08 02:07:10 +00:00
Evan Cheng
165d39b8e4 Fix a x86-64 static codegen bug. This fixes a lot of x86-64 jit failures.
llvm-svn: 45733
2008-01-08 02:06:11 +00:00
Bill Wendling
e859abc363 Silence warning about loss of precision.
llvm-svn: 45731
2008-01-08 00:52:29 +00:00
Evan Cheng
9de4f35e9f Only mark instructions that load a single value without extension as isSimpleLoad = 1.
llvm-svn: 45727
2008-01-07 23:56:57 +00:00
Chris Lattner
32934de862 add a new bit.
llvm-svn: 45726
2008-01-07 23:16:55 +00:00
Evan Cheng
ae2f627ea8 Unbreak x86-64.
llvm-svn: 45725
2008-01-07 23:08:23 +00:00
Chris Lattner
184daf9101 add a note that is important for some fp apps.
llvm-svn: 45723
2008-01-07 21:59:58 +00:00
Chris Lattner
66e631ace3 possible switch lowering improvement.
llvm-svn: 45720
2008-01-07 21:38:14 +00:00
Owen Anderson
6f06a8e8d2 Oops, missed one.
llvm-svn: 45719
2008-01-07 21:32:09 +00:00
Owen Anderson
692d2acef8 Make some predicates static.
llvm-svn: 45718
2008-01-07 21:30:40 +00:00
Duncan Sands
3d1260ba4d I doubt the address of the Error string was intended
to be used for the force_interpreter parameter...
Spotted by gcc-4.2.

llvm-svn: 45714
2008-01-07 19:14:42 +00:00
Duncan Sands
7209d0c045 Add missing newline at EOF.
llvm-svn: 45712
2008-01-07 19:13:36 +00:00
Nate Begeman
9b7f984bbb Update the comment on scalar to vector to be a bit more clear.
llvm-svn: 45707
2008-01-07 17:52:24 +00:00
Nate Begeman
98dba4b0ce Update test to catch recent x86 insert regression and improvements
llvm-svn: 45705
2008-01-07 17:49:23 +00:00
Duncan Sands
7955cf0cd7 Small cleanup for handling of type/parameter attribute
incompatibility.

llvm-svn: 45704
2008-01-07 17:16:06 +00:00
Duncan Sands
fbbbb24641 Unbreak x86-32 darwin long double!
llvm-svn: 45703
2008-01-07 16:36:38 +00:00
Duncan Sands
93959fc16a Fix long double support on x86-32 linux.
llvm-svn: 45701
2008-01-07 13:44:22 +00:00
Gordon Henriksen
fb55daea95 Pruning includes.
llvm-svn: 45700
2008-01-07 13:30:38 +00:00
Bill Wendling
b94c1f2999 Operand 1 should be a register. We don't care if it's a preg, vreg, or 0.
llvm-svn: 45699
2008-01-07 08:05:29 +00:00
Chris Lattner
9aefefc673 add a note
llvm-svn: 45698
2008-01-07 07:46:23 +00:00
Chris Lattner
f4f5495b06 remove #includage
llvm-svn: 45697
2008-01-07 07:42:25 +00:00
Chris Lattner
ba567fa77b split TargetInstrDesc out into its own header file.
llvm-svn: 45696
2008-01-07 07:33:08 +00:00
Chris Lattner
f83aae613c rename TargetInstrDescriptor -> TargetInstrDesc.
Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.

llvm-svn: 45695
2008-01-07 07:27:27 +00:00
Chris Lattner
c9e870d7c6 remove a dead method.
llvm-svn: 45694
2008-01-07 06:47:10 +00:00