Dan Gohman
0357e0117e
Fix SplitCriticalEdge to properly update LCSSA form when splitting a
...
loop exit edge -- new PHIs may be needed not only for the additional
splits that are made to preserve LoopSimplify form, but also for the
original split. Factor out the code that inserts new PHIs so that it
can be used for both. Remove LoopRotation.cpp's code for manually
updating LCSSA form, as it is now redundant. This fixes PR4934.
llvm-svn: 81363
2009-09-09 18:18:18 +00:00
Dan Gohman
beccd0690e
When widening a vector load, use the correct chain. This fixes PR4891.
...
llvm-svn: 81343
2009-09-09 14:22:57 +00:00
Torok Edwin
556197eec9
Add testcase for r81322 (PR4933).
...
llvm-svn: 81327
2009-09-09 09:34:43 +00:00
Chris Lattner
83d3519ec4
add a testacse for the objc problem that required required r81305
...
to be temporarily disabled.
llvm-svn: 81320
2009-09-09 06:19:34 +00:00
Chris Lattner
2dfd5f5963
disable the new asmprinter by default. Both the Mangler and MCSymbol
...
printing stuff are quoting symbols now, breaking objc testcases.
llvm-svn: 81319
2009-09-09 06:11:14 +00:00
Evan Cheng
91e719a6a1
Cast MO.getImm() to unsigned before comparing with an unsigned limit.
...
llvm-svn: 81318
2009-09-09 06:05:16 +00:00
Daniel Dunbar
61043be3ae
Update test.
...
llvm-svn: 81314
2009-09-09 02:41:50 +00:00
Chris Lattner
c74e9c2c37
turn the mcinst asmprinter on by default for x86, tweaking two tests to
...
expect the slight syntax differences in the generated code.
llvm-svn: 81305
2009-09-09 00:41:36 +00:00
Bill Wendling
2809c62757
Remove failing test...
...
llvm-svn: 81303
2009-09-09 00:30:25 +00:00
Dan Gohman
0df0f8323c
Use "opt < %s" instead of "opt %s" to keep the testname away from the grep.
...
llvm-svn: 81299
2009-09-09 00:22:49 +00:00
Chris Lattner
e2e20d69a3
this got merged into lea.ll
...
llvm-svn: 81298
2009-09-09 00:22:31 +00:00
Chris Lattner
d5bec5079a
filecheckize
...
llvm-svn: 81297
2009-09-09 00:19:46 +00:00
Bill Wendling
95b3d14496
Fix PR4865. This syncs up the JIT's DWARF emitter with what's in the
...
'DwarfException.cpp' file, which changed how CIEs were emitted, the sizes of
some fields, etc.
llvm-svn: 81295
2009-09-09 00:11:02 +00:00
Dan Gohman
142428ce64
Eliminate more uses of llvm-as and llvm-dis.
...
llvm-svn: 81293
2009-09-09 00:09:15 +00:00
Dan Gohman
df2896d609
Eliminate more uses of llvm-as and llvm-dis.
...
llvm-svn: 81290
2009-09-08 23:54:48 +00:00
Chris Lattner
ded5762e28
update various tests for signedness changes in .s file.
...
llvm-svn: 81289
2009-09-08 23:51:06 +00:00
Chris Lattner
837420e12f
adjust for signedness change. I'd appreciate it if an ARM flavored person
...
could look at this: the top undefined bits of an immediate shouldn't affect
isel (cmp vs cmp.w)
llvm-svn: 81288
2009-09-08 23:44:53 +00:00
Daniel Dunbar
648d754b7b
Merge Archive/extract* tests into one; this avoids a race when tests are run in
...
parallel (the test should really use temps for the output, though).
llvm-svn: 81287
2009-09-08 23:44:24 +00:00
Chris Lattner
09a6252bb8
merge thumb2-bic2.ll into thumb2-bic.ll and update for signedness changes.
...
llvm-svn: 81285
2009-09-08 23:41:06 +00:00
Chris Lattner
a97bedf017
tweak this to pass on linux.
...
llvm-svn: 81273
2009-09-08 23:32:40 +00:00
Chris Lattner
840fbf6897
convert to filecheck syntax
...
llvm-svn: 81267
2009-09-08 23:16:26 +00:00
Chris Lattner
0b34068b2b
change selectiondag to add the sign extended versions of immediate operands
...
to instructions instead of zero extended ones. This makes the asmprinter
print signed values more consistently. This apparently only really affects
the X86 backend.
llvm-svn: 81265
2009-09-08 23:05:44 +00:00
Dan Gohman
cd0fb89725
Use "opt < %s" instead of "opt %s" so that opt doesn't print the test
...
filename in the output, which interferes with the tests' grep lines.
llvm-svn: 81263
2009-09-08 22:57:49 +00:00
Anton Korobeynikov
2b6ef7724e
Unbreak getOnesVector() / getZeroVector() to use valid ARM extended imm's.
...
llvm-svn: 81262
2009-09-08 22:51:43 +00:00
Dan Gohman
a3ab9b3b9e
Convert a few more opt | llvm-dis to opt -S.
...
llvm-svn: 81261
2009-09-08 22:41:33 +00:00
Chris Lattner
7aff10755c
filecheckize some tests
...
llvm-svn: 81259
2009-09-08 22:38:46 +00:00
Dan Gohman
c95df8b6d8
Use opt -S instead of piping bitcode output through llvm-dis.
...
llvm-svn: 81257
2009-09-08 22:34:10 +00:00
Owen Anderson
b32b599081
Fix PR4909, patch by Jakub Staszak.
...
llvm-svn: 81250
2009-09-08 19:53:15 +00:00
Chris Lattner
5caba6ecdc
remove an extremely dubious instcombine transformation of
...
extractelement(load).
llvm-svn: 81239
2009-09-08 18:48:01 +00:00
Dan Gohman
84b8534266
Trim unnecessary declarations.
...
llvm-svn: 81227
2009-09-08 17:03:05 +00:00
Dan Gohman
8d84372836
Change these tests to feed the assembly files to opt directly, instead
...
of using llvm-as, now that opt supports this.
llvm-svn: 81226
2009-09-08 16:50:01 +00:00
Dan Gohman
cdaa08e706
Re-apply r80926, with fixes: keep the domtree informed of new blocks
...
that get created during loop unswitching, and fix SplitBlockPredecessors'
LCSSA updating code to create new PHIs instead of trying to just move
existing ones.
Also, optimize Loop::verifyLoop, since it gets called a lot. Use
searches on a sorted list of blocks instead of calling the "contains"
function, as is done in other places in the Loop class, since "contains"
does a linear search. Also, don't call verifyLoop from LoopSimplify or
LCSSA, as the PassManager is already calling verifyLoop as part of
LoopInfo's verifyAnalysis.
llvm-svn: 81221
2009-09-08 15:45:00 +00:00
Anton Korobeynikov
0b3a620d60
Add NEON 'laned' operations. This fixes another bunch of gcc testsuite fails and
...
makes the code faster.
llvm-svn: 81220
2009-09-08 15:22:32 +00:00
Dan Gohman
0a1df51219
Unbreak these tests. Chris, please verify that these changes are intended.
...
llvm-svn: 81217
2009-09-08 14:14:24 +00:00
Anton Korobeynikov
a3c4db1161
Unbreak
...
llvm-svn: 81205
2009-09-08 07:30:03 +00:00
Evan Cheng
e1047f16e4
When remat'ing and destination virtual register has a sub-register index. Make sure the sub-register class matches the register class of the remat'ed instruction definition register class.
...
llvm-svn: 81204
2009-09-08 06:39:07 +00:00
Chris Lattner
6c02945d93
disable some irrelevant eh emission
...
llvm-svn: 81200
2009-09-08 06:26:40 +00:00
Daniel Dunbar
1d03c5c8a7
Add 'lit' support for llvm tests.
...
- This adds 'make check-lit' from the top-level Makefile.
llvm-svn: 81191
2009-09-08 05:31:44 +00:00
Chris Lattner
2e9f3b2865
fix PR4767, a crash because fp stackifier visited blocks in
...
depth first order, so it wouldn't process unreachable blocks.
When compiling at -O0, late dead block elimination isn't done
and the bad instructions got to isel.
llvm-svn: 81187
2009-09-08 04:55:44 +00:00
Chris Lattner
12d0bc749f
instcombine transforms vector loads that are only used by
...
extractelement operations into a bitcast of the pointer,
then a gep, then a scalar load. Disable this when the vector
only has one element, because it leads to infinite loops in
instcombine (PR4908).
This transformation seems like a really bad idea to me, as it
will likely disable CSE of vector load/stores etc and can be
better done in the code generator when profitable. This
goes all the way back to the first days of packed types,
r25299 specifically.
I'll let those people who care about the performance of vector
code decide what to do with this.
llvm-svn: 81185
2009-09-08 03:44:51 +00:00
Dan Gohman
8f7b263087
Fix an abort on a store of an empty struct member. getValue returns
...
null in the case of an empty struct, so don't try to call getNumValues
on it.
llvm-svn: 81180
2009-09-08 01:44:02 +00:00
Chris Lattner
ee1d1d3173
Fix PR4882, by making MemCpyOpt not dereference removed stores to get the
...
context for the newly created operations.
Patch by Jakub Staszak!
llvm-svn: 81175
2009-09-08 00:27:14 +00:00
Chris Lattner
37dbbde91b
fix ComputeMaskedBits handling of zext/sext/trunc to work with vectors.
...
This fixes PR4905
llvm-svn: 81174
2009-09-08 00:13:52 +00:00
Dan Gohman
1147a7ba87
Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed.
...
llvm-svn: 81172
2009-09-07 23:54:19 +00:00
Dan Gohman
572ecc26b6
Fix a thinko: When lowering fneg with xor, bitcast the operands
...
from floating-point to integer first, and bitcast the result
back to floating-point. Previously, this test was passing by
falling back to SelectionDAG lowering. The resulting code isn't
as nice, but it's correct and CodeGen now stays on the fast path.
llvm-svn: 81171
2009-09-07 23:47:14 +00:00
Dan Gohman
3120dffcd8
Add a testcase for the GlobalOpt inbounds fix.
...
llvm-svn: 81168
2009-09-07 23:04:59 +00:00
Dan Gohman
624543cedb
Add inbounds to these getelementptrs, now that GlobalOpt requires this,
...
to preserve the meaning of these tests.
llvm-svn: 81166
2009-09-07 22:45:41 +00:00
Chris Lattner
dfb4699ba8
tighten test.
...
llvm-svn: 81159
2009-09-07 22:15:23 +00:00
Chris Lattner
0ebc0d1c4a
tweak test, add PR#
...
llvm-svn: 81158
2009-09-07 22:14:41 +00:00
Daniel Dunbar
c44dc7f8fb
Use -output-prefix in bugpoint tests so that outputs go in temp directory (and
...
we don't race on them).
llvm-svn: 81155
2009-09-07 19:26:18 +00:00