1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 05:53:07 +01:00
Commit Graph

40377 Commits

Author SHA1 Message Date
Bill Wendling
1854852a75 Just grep for through the LL code instead of the ASM code
llvm-svn: 54389
2008-08-06 00:10:32 +00:00
Bill Wendling
cff4a97a86 Add ARM to the targets to build.
llvm-svn: 54386
2008-08-05 23:52:28 +00:00
Dan Gohman
3e389ed424 Use strcpy instead of sprintf here. This avoids a GCC 4.3 format-string
warning. There wasn't actually a problem here, because the contents of
the string are known.

llvm-svn: 54385
2008-08-05 23:36:35 +00:00
Bill Wendling
aea14c2dfe Add default architecture.
llvm-svn: 54384
2008-08-05 23:36:00 +00:00
Dan Gohman
8377e7019f Pass the computed iteration count value to RewriteLoopExitValues
instead of having it call getIterationCount again.

llvm-svn: 54380
2008-08-05 22:34:21 +00:00
Bill Wendling
b120b02f4d It's "a static", not "an static"
llvm-svn: 54379
2008-08-05 22:29:16 +00:00
Owen Anderson
e9c3ae9fe4 Fix breakage on ARM/2008-04-10-ScavengerAssert.ll.
llvm-svn: 54378
2008-08-05 22:24:40 +00:00
Bill Wendling
f69c83e554 Testcase for PR2629.
llvm-svn: 54377
2008-08-05 22:23:59 +00:00
Evan Cheng
f4d1119fbd Fix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64.
llvm-svn: 54376
2008-08-05 22:19:15 +00:00
Evan Cheng
a07795a0c3 Fix PR2596: out of bound reference.
llvm-svn: 54375
2008-08-05 21:51:46 +00:00
Owen Anderson
acd5487eb9 Correctly handle replacement and removal of PHIs with one incoming register.
llvm-svn: 54374
2008-08-05 21:40:45 +00:00
Bill Wendling
3882f060ef Revert r53282. This was causing a miscompile on Linux. Also, the transformation
looks bogus. Please see PR2629 for details on why this is breaking things.

llvm-svn: 54372
2008-08-05 21:23:45 +00:00
Owen Anderson
11731063b9 Oops, we were already checking for dead phis. Handle this the proper way, then.
llvm-svn: 54371
2008-08-05 21:18:51 +00:00
Owen Anderson
dacdf44612 We don't need to update live intervals for dead PHIs.
llvm-svn: 54369
2008-08-05 20:51:26 +00:00
Chris Lattner
ffc6ce44a7 Expand acronyms, suggested by Walter Pawley
llvm-svn: 54362
2008-08-05 18:29:16 +00:00
Owen Anderson
667d9c95c2 Remove the -disable-correct-folding option, which was ugly and is no longer needed.
llvm-svn: 54361
2008-08-05 18:27:54 +00:00
Chris Lattner
0ad96be1be Capitalize LLVM, suggested by Walt Pawley
llvm-svn: 54360
2008-08-05 18:21:08 +00:00
Owen Anderson
d1185e4da3 Update the remaining tests not to use -disable-correct-folding, and remove two
that couldn't be updated.

llvm-svn: 54359
2008-08-05 18:19:14 +00:00
Owen Anderson
117b0e405d One more -disable-correct-folding case removed.
llvm-svn: 54358
2008-08-05 18:08:56 +00:00
Owen Anderson
c5fd801d85 Remove another -disable-correct-folding use.
llvm-svn: 54357
2008-08-05 18:05:58 +00:00
Owen Anderson
f845ea8d52 Eliminate another use of -disable-correct-folding.
llvm-svn: 54356
2008-08-05 18:03:01 +00:00
Owen Anderson
4c7ea0c270 This check is unnecessary, and getting rid of it removes a use of -disable-correct-folding.
llvm-svn: 54355
2008-08-05 17:52:54 +00:00
Owen Anderson
7fca48d0bd Remove the need for -disable-correct-folding from this test.
llvm-svn: 54354
2008-08-05 17:49:52 +00:00
Dan Gohman
51a5eb52c5 Fix the AsmWriter to not print extra spaces after parameter attributes.
llvm-svn: 54351
2008-08-05 15:51:44 +00:00
Dan Gohman
1238bf634b Trim #includes.
llvm-svn: 54350
2008-08-05 15:32:23 +00:00
Dan Gohman
de163bb39d Fix several const-correctness issues, resolving some -Wcast-qual warnings.
llvm-svn: 54349
2008-08-05 14:45:15 +00:00
Dan Gohman
7323b8d744 Correct an assertion string.
llvm-svn: 54348
2008-08-05 14:42:28 +00:00
Evan Cheng
1b731b8504 Remove #if 0.
llvm-svn: 54347
2008-08-05 07:20:57 +00:00
Evan Cheng
754148a2ec Fix PR2568: Fix bug that cause redudant kill marker after its live interval has been extended due to coalescing.
llvm-svn: 54346
2008-08-05 07:10:38 +00:00
Owen Anderson
7b5fe60440 Remove unneeded iteration. Thanks to Dan for the feedback.
llvm-svn: 54337
2008-08-05 00:30:10 +00:00
Owen Anderson
32ae9380f1 This option doesn't need to be a target option. It can be in SDISel instead.
llvm-svn: 54336
2008-08-05 00:27:28 +00:00
Owen Anderson
231111faf9 Update these tests to work by disabling the new correct CFG generation. This flag should ONLY be used to for tests like these.
llvm-svn: 54334
2008-08-04 23:55:29 +00:00
Owen Anderson
84fbc312d4 - Fix SelectionDAG to generate correct CFGs.
- Add a basic machine-level dead block eliminator.

These two have to go together, since many other parts of the code generator are unable to handle the unreachable blocks otherwise created.

llvm-svn: 54333
2008-08-04 23:54:43 +00:00
Eli Friedman
ef366a16a2 PR2621: Improvements to the SCEV AddRec binomial expansion. This
version uses a new algorithm for evaluating the binomial coefficients 
which is significantly more efficient for AddRecs of more than 2 terms 
(see the comments in the code for details on how the algorithm works).  
It also fixes some bugs: it removes the arbitrary length restriction for 
AddRecs, it fixes the silent generation of incorrect code for AddRecs 
which require a wide calculation width, and it fixes an issue where we 
were incorrectly truncating the iteration count too far when evaluating 
an AddRec expression narrower than the induction variable.

There are still a few related issues I know of: I think there's 
still an issue with the SCEVExpander expansion of AddRec in terms of
the width of the induction variable used.  The hack to avoid generating 
too-wide integers shouldn't be necessary; instead, the callers should be 
considering the cost of the expansion before expanding it (in addition 
to not expanding too-wide integers, we might not want to expand 
expressions that are really expensive, especially when optimizing for 
size; calculating an length-17 32-bit AddRec currently generates about 250 
instructions of straight-line code on X86).  Also, for long 32-bit 
AddRecs on X86, CodeGen really sucks at scheduling the code.  I'm planning on 
filing follow-up PRs for these issues.

llvm-svn: 54332
2008-08-04 23:49:06 +00:00
Dan Gohman
60ea311ec8 Fix SDISel lowering of PHI nodes to use ComputeValueVTs.
This allows it to work correctly on aggregate values.
This fixes PR2623.

llvm-svn: 54331
2008-08-04 23:42:46 +00:00
Dan Gohman
af429b3e52 Fix SDISel lowering of zeroinitializer and undef to use ComputeValueVTs.
This allows it to work correctly on nested aggregate values.
This fixes PR2625.

llvm-svn: 54330
2008-08-04 23:30:41 +00:00
Dan Gohman
5d0df78ae0 Add an assert to catch invalid VECTOR_SHUFFLE mask indices.
llvm-svn: 54329
2008-08-04 23:09:15 +00:00
Bruno Cardoso Lopes
34f2582096 Mips ISelLowering cleanup : Removed old LowerCALL and FORMAL_ARGS helpers, they
aren't used anyway, they also used to broke compiling when fastcc was specified for a
function, but not anymore.

llvm-svn: 54316
2008-08-04 07:12:52 +00:00
Bruno Cardoso Lopes
463f306553 Handle i32->f32 bitconvert results.
llvm-svn: 54315
2008-08-04 06:44:31 +00:00
Andrew Lenharth
377c046675 Add atomic sub for other sizes
llvm-svn: 54314
2008-08-03 20:17:34 +00:00
Chris Lattner
9aaf1f7650 Emit saveri with the correct operand order, patch by Richard Pennington!
llvm-svn: 54313
2008-08-03 18:16:14 +00:00
Bruno Cardoso Lopes
e9f5a77b11 Fix PR2615
llvm-svn: 54312
2008-08-03 15:37:43 +00:00
Bruno Cardoso Lopes
b13d663126 Improved asm inline for hi,lo results
Added hi,lo registers to be used,def implicitly. This provides better handle of
instructions which use hi/lo.
Fixes a small BranchAnalysis bug

llvm-svn: 54274
2008-08-02 19:42:36 +00:00
Bruno Cardoso Lopes
402c28e400 Apply the same pattern used in 'and' lowering for 'or'
llvm-svn: 54273
2008-08-02 19:37:33 +00:00
Duncan Sands
573c01d5da Fix comment typos.
llvm-svn: 54266
2008-08-01 12:23:49 +00:00
Bill Wendling
5aaf075b29 Removed unused parameters.
llvm-svn: 54262
2008-08-01 05:50:13 +00:00
Dale Johannesen
c1ae4b8c08 Make sse2 explicit, for non-x86 hosts.
llvm-svn: 54251
2008-07-31 20:16:33 +00:00
Bruno Cardoso Lopes
9cb1f636b4 Expand fcopysign
llvm-svn: 54250
2008-07-31 18:50:54 +00:00
Bruno Cardoso Lopes
01c39058e8 Handle more SELECT corner cases considering legalize types, probabily wont work with
the default legalizer.

llvm-svn: 54249
2008-07-31 18:31:28 +00:00
Dale Johannesen
f669e7c14f Add a flag to disable jump table generation (all
switches use the binary search algorithm) for
environments that don't support it.  PPC64 JIT
is such an environment; turn the flag on for that.

llvm-svn: 54248
2008-07-31 18:13:12 +00:00