Chris Lattner
baa989ed6e
rename test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84515 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 18:18:07 +00:00
Dan Gohman
841a147531
Fix SplitBlockPredecessors' LoopInfo updating code to handle the case
...
where a loop's header is being split and it has predecessors which are not
contained by the most-nested loop which contains the loop.
This fixes PR5235.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84505 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 16:04:50 +00:00
Torok Edwin
6602922878
Fix PR5247, "lock addq" pattern (and other atomics), it DOES modify EFLAGS.
...
LLC was scheduling compares before the adds causing wrong branches to be taken
in programs, resulting in misoptimized code wherever atomic adds where used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84485 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 11:00:58 +00:00
Chris Lattner
13435d9383
eliminate md_on_instruction.ll, md_on_instruction2.ll is a superset of it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84464 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 05:34:14 +00:00
Daniel Dunbar
068c56e0d7
Teach lit that the .c files in 'test/CodeGen/CellSPU/useful-harnesses' aren't tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84460 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 03:53:55 +00:00
Nate Begeman
a09008bf6d
Add support for matching shuffle patterns with palignr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84459 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-19 02:17:23 +00:00
Evan Cheng
d36076e4a3
Turn on post-alloc scheduling for x86.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 19:57:27 +00:00
Chris Lattner
1c79be9dcd
remove a now-pointless regtest
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84409 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 05:20:17 +00:00
Chris Lattner
76596c86c4
remove testcase for dead pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 05:03:41 +00:00
Chris Lattner
ec63ad6c1f
fix test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84405 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 05:03:00 +00:00
Chris Lattner
e62b2633e8
tighten up test3, add test3a for the converse
...
transform, which isn't happening yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 04:55:26 +00:00
Chris Lattner
6e85d91144
tighten test2, add a test that it doesn't get transformed in the invalid edge case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84401 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 04:50:18 +00:00
Nick Lewycky
15d3c05adf
Merge tests into modref.ll. Also add a test for r84174 at Chris' behest!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84400 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 04:41:36 +00:00
Nick Lewycky
c1a38f59b5
Add a couple new testcases.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84385 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-18 00:42:07 +00:00
Chris Lattner
a22922d19a
replace a useless test with a useful one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84383 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 23:59:51 +00:00
Nick Lewycky
3fc35c594c
Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed,
...
LLVMBuildMalloc was reimplemented but with the bug that it didn't insert the
resulting instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84374 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 23:52:26 +00:00
Chris Lattner
59c4eba416
Teach vm core to more aggressively fold 'trunc' constantexprs,
...
allowing it to simplify the crazy constantexprs in the testcases
down to something sensible. This allows -std-compile-opts to
completely "devirtualize" the pointers to member functions in
the testcase from PR5176.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84368 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 21:53:27 +00:00
Chris Lattner
5e5c4d3d5a
remove # uses from FileCheck lines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84367 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 21:51:19 +00:00
Chris Lattner
c812f79fb8
rename test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84364 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 21:31:19 +00:00
Mikhail Glushenkov
2cea7bdef9
Disallow multiple instances of PluginPriority.
...
Several instances of PluginPriority in a single file most probably signifies a
programming error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 20:08:30 +00:00
Chris Lattner
6128df5255
Simplify some code (first hunk) and fix PR5208 (second hunk) by
...
updating the callgraph when introducing a call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84310 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 05:39:39 +00:00
Daniel Dunbar
9c7ca4a745
Reclaim a lost month.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84303 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 03:28:20 +00:00
Dan Gohman
3bdd8de280
Enhance CodePlacementOpt's unconditional intra-loop branch elimination logic
...
to be more general and understand more varieties of loops.
Teach CodePlacementOpt to reorganize the basic blocks of a loop so that
they are contiguous. This also includes a fair amount of logic for preserving
fall-through edges while doing so. This fixes a BranchFolding-ism where blocks
which can't be made to use a fall-through edge and don't conveniently fit
anywhere nearby get tossed out to the end of the function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84295 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 00:32:43 +00:00
Victor Hernandez
13ad5aaaff
Autoupgrade malloc insts to malloc calls.
...
Update testcases that rely on malloc insts being present.
Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84292 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-17 00:00:19 +00:00
Victor Hernandez
8db42d2b1c
HeapAllocSRoA also needs to check if malloc array size can be computed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84288 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 23:12:25 +00:00
Mon P Wang
362b8f2786
Update tests to use FileCheck
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84282 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 22:09:05 +00:00
Mon P Wang
70bf40d02e
Add test case for r84279
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84280 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 22:07:19 +00:00
Dan Gohman
b00f236b03
Move zext and sext casts fed by loads into the same block as the
...
load, to help SelectionDAG fold them into the loads, unless
conditions are unfavorable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84271 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 20:59:35 +00:00
Devang Patel
a43d46f523
Parse PHI instruction with attached metadata.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84264 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 18:45:49 +00:00
Devang Patel
149aa7cce3
If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84262 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 18:18:03 +00:00
Victor Hernandez
3a73bb38ba
Invert isSafeToGetMallocArraySize check because we return NULL when we don't know the size.
...
Thanks to Duncan Sands for noticing this bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84260 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 18:07:17 +00:00
Daniel Dunbar
db196e82a4
Force triple in tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 16:30:02 +00:00
Duncan Sands
0f2bd97434
Check that GVN performs this transform even if the calls
...
themselves are not marked readonly, but only the called
functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84253 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 12:18:23 +00:00
Evan Cheng
d3dd50fec0
Enable post-alloc scheduling for all ARM variants except for Thumb1.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84249 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 06:11:08 +00:00
Daniel Dunbar
75773ff00d
MC: Tweak variable assignment diagnostics, and make reassignment of non-absolute
...
variables and symbols invalid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84232 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 01:57:39 +00:00
Daniel Dunbar
fffff915d5
MC: When parsing a variable reference, substitute absolute variables immediately
...
since they are allowed to be redefined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84230 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-16 01:34:54 +00:00
Sandeep Patel
452b54a8ae
Branches must be the last instruction in a Thumb2 IT block. Approved by Evan Cheng.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84212 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-15 22:25:32 +00:00
Sanjiv Gupta
753ec15d5f
Re-apply 84180 with the fixed test case.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84195 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-15 19:26:25 +00:00
Jakob Stoklund Olesen
6ad8c84d70
Move Blackfin intrinsics into the Target/Blackfin directory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84194 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-15 18:50:52 +00:00
Dan Gohman
cd2ae14ce3
Make CodePlacementOpt align loops, rather than loop headers. The
...
header is just the entry block to the loop, and it needn't be at
the top of the loop in the code layout.
Remove the code that suppressed loop alignment for outer loops,
so that outer loops are aligned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84158 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-15 00:36:22 +00:00
Evan Cheng
a2f8047134
When LiveVariables is adding implicit-def to model "partial dead", add the earlyclobber marker if the superreg def has it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84153 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 23:39:27 +00:00
Nick Lewycky
ca55ee03b0
Make use of the result of the loads even though that means adding -instcombine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84125 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 19:02:13 +00:00
Chris Lattner
8db2cd1fc7
make instcombine's instruction sinking more aggressive in the
...
presence of PHI nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84103 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 15:21:58 +00:00
Evan Cheng
681a33e26d
Another BasicAA fix. If a value does not alias a GEP's base pointer, then it
...
cannot alias the GEP. GEP pointer alias rule states this clearly:
A pointer value formed from a getelementptr instruction is associated with the
addresses associated with the first operand of the getelementptr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84079 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 06:41:49 +00:00
Evan Cheng
2c4f28255b
Replace test with a simpler hand crafted one.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84069 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 01:45:10 +00:00
Dale Johannesen
52a5362733
Use llvmgxx for C++ test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 00:34:56 +00:00
Dan Gohman
79d4646f4b
Fix this test to account for a movl $0 being emitted as an xor now,
...
and convert it to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84065 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 00:28:48 +00:00
Dale Johannesen
0ccfc4c058
Testcases for msasm bit (llvm-gcc 84062).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14 00:10:54 +00:00
Evan Cheng
50a5914e12
Teach basic AA about PHI nodes. If all operands of a phi NoAlias another value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84038 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 22:02:20 +00:00
Devang Patel
b408b15fa4
Optimizer may remove debug info. This test checks debug info for include headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84025 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 20:56:38 +00:00
Bob Wilson
765cc0b9d5
Revise ARM inline assembly memory operands to require the memory address to
...
be in a register. The previous use of ARM address mode 2 was completely
arbitrary and inappropriate for Thumb. Radar 7137468.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 20:50:28 +00:00
Dale Johannesen
4360298d2b
Add an "msasm" flag to inline asm as suggested in PR 5125.
...
A little ugliness is accepted to keep the binary file format
compatible. No functional change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84020 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 20:46:56 +00:00
Devang Patel
9578c7aad6
These tests now pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84019 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 20:45:18 +00:00
Sandeep Patel
47eedaa8fa
Add ARMv6T2 SBFX/UBFX instructions. Approved by Anton Korobeynikov.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84009 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 18:59:48 +00:00
Chris Lattner
11f15dbb28
change simplifycfg to not duplicate 'unwind' instructions. Hopefully
...
this will increase the likelihood of common code getting sunk towards
the unwind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83996 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 18:13:05 +00:00
Chris Lattner
bf07da0e27
convert to filecheck
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83995 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 18:10:05 +00:00
Chris Lattner
f137f2f4c5
rename test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83994 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 18:08:21 +00:00
Chris Lattner
2d175064ab
don't use dead loads as tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83985 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 17:39:29 +00:00
Devang Patel
39a38ae529
Disable this test for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83975 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 16:32:09 +00:00
Nick Lewycky
5c9be67cff
Teach BasicAA a little something about the atomic intrinsics: they can only
...
modify through the pointer they're given.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83959 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 07:48:38 +00:00
Nick Lewycky
cc271861da
Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
...
sections of memory objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 07:03:23 +00:00
Chris Lattner
4a8e17da32
remove notcast, it is now dead!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83938 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 04:27:02 +00:00
Chris Lattner
2a03c04424
remove two old and nearly useless tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83937 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 04:25:24 +00:00
Devang Patel
e12ee4b738
XFAIL these tests for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83933 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 01:51:29 +00:00
Victor Hernandez
5c78736f85
Memory dependence analysis was incorrectly stopping to scan for stores to a pointer at bitcast uses of a malloc call.
...
It should continue scanning until the malloc call, and this patch fixes that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83931 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13 01:42:53 +00:00
Chris Lattner
f1787b055c
allow this testcase to pass with recent changes. The test hasn't been
...
producing any stores at all for a long time, but ".store." was in some
IR instruction names until recently. This removal caused the test to
start failing. Just make it reject any stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83895 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 20:42:35 +00:00
Dan Gohman
0032681424
Don't forget to mark RAX as live-out of the function when arranging for
...
it to hold the address of an sret return value, for x86-64 ABI purposes.
Also, fix the test that was originally intended to test this to actually
test it, using FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83853 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 16:36:12 +00:00
Benjamin Kramer
90869455b5
Eliminate some redundant llvm-as calls.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83837 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 09:31:55 +00:00
Edward O'Callaghan
d75d267367
Missing CHECK: lines makes test exit abnormally.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83835 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 09:01:26 +00:00
Edward O'Callaghan
2a4bea5262
FileCheck not CheckFile, oops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 08:51:28 +00:00
Edward O'Callaghan
5464547c02
Convert InstCombine/call.ll to CheckFile.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 08:46:47 +00:00
Edward O'Callaghan
7aeb9b5e4c
Convert the rest of the InstCombine tests from notcast to FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83828 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 07:18:14 +00:00
Nick Lewycky
a457ba09f7
Remove this part of the test, it never actually tested anything anyways. This
...
unbreaks make check after evocallaghan's changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83827 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 06:32:42 +00:00
Edward O'Callaghan
60ea2c5a18
Fix syntax error missed in converting zext.ll test. Convert 2003-11-13-ConstExprCastCall.ll to FileCheck from notcast.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83826 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 06:23:56 +00:00
Edward O'Callaghan
853075e762
Convert InstCombine tests from notcast to FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83825 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 06:14:06 +00:00
Anton Korobeynikov
436604d505
Add missed mem-mem move patterns
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83812 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 23:03:53 +00:00
Anton Korobeynikov
afac8abfc0
Add MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 23:03:28 +00:00
Anton Korobeynikov
aca471f3a5
Add bunch of MSP430 'feature' tests. Patch by Brian Lucas with some my refinements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83809 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 23:02:38 +00:00
Chris Lattner
0a11939fe8
reduce vec_shuffle2 and merge into vec_shuffle.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83807 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:54:48 +00:00
Chris Lattner
98d59dfbb6
filecheckize vec_shuffle.ll and merge shuffle.ll into it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83806 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:52:15 +00:00
Chris Lattner
588c490aad
filecheckize
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83805 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:45:17 +00:00
Chris Lattner
a01752920e
rename test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83804 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:44:16 +00:00
Chris Lattner
ee07e715ff
remove old testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83803 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:42:06 +00:00
Chris Lattner
90d4f3a077
merge test into shift.ll, this also eliminates awful grepping on -stats output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83802 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:39:58 +00:00
Chris Lattner
490ff6310a
convert to filecheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83801 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:36:59 +00:00
Chris Lattner
d088314998
teach instcombine to simplify xor's harder, catching the
...
new testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83799 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 22:22:13 +00:00
Chris Lattner
833f0cc57f
convert xor2 to filecheck, merge in a random regtest
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83796 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 21:42:08 +00:00
Chris Lattner
d2c58366d8
generalize a transformation even more: we don't care whether the
...
input the the mul is a zext from bool, just that it is all zeros
other than the low bit. This fixes some phase ordering issues
that would cause us to miss some xforms in mul.ll when the worklist
is visited differently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 21:29:45 +00:00
Chris Lattner
0036e3a469
simplify a transformation by making it more general.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83792 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 21:22:21 +00:00
Torok Edwin
9289ae85b4
LICM shouldn't sink/delete debug information. Fix this and add a testcase.
...
For now the metadata of sinked/hoisted instructions is still wrong, but that'll
be fixed when instructions will have debug metadata directly attached.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 19:15:54 +00:00
Anton Korobeynikov
95eb470ce1
Implement 'm' memory operand properly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83785 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 19:14:21 +00:00
Chris Lattner
5a06cf644f
when folding duplicate conditions, delete the
...
now-probably-dead instruction tree feeding it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83778 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 18:39:58 +00:00
Chris Lattner
8af304ab3b
implement rdar://7293527, a trivial instcombine that llvm-gcc
...
gets but clang doesn't, because it is implemented in GCC's
fold routine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83761 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 07:53:15 +00:00
Chris Lattner
78c552ef30
implement a transformation in jump threading that is currently
...
done by condprop, but do it in a much more general form. The
basic idea is that we can do a limited form of tail duplication
in the case when we have a branch on a phi. Moving the branch
up in to the predecessor block makes instruction selection
much easier and encourages chained jump threadings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83759 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 07:24:57 +00:00
Chris Lattner
113e4c6070
another testcase jump threading shouldn't crash on.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83758 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 07:11:11 +00:00
Chris Lattner
c6c167f3bf
rename a file, remove a poorly reduced testcase.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83757 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 07:10:28 +00:00
Chris Lattner
e33583b7c2
make jump threading on a phi with undef inputs happen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83754 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 04:18:15 +00:00
Chris Lattner
41fb43bb1e
merge two tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83751 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 03:55:30 +00:00
Chris Lattner
d98eb44dde
simplify some run lines, convert a test to filecheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83750 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 03:54:21 +00:00
Chris Lattner
a09fbf0af0
switch GVN to use SSAUpdater. Besides removing a lot of complexity
...
from GVN, this also speeds it up, inserts fewer PHI nodes (see the
testcase) and allows it to remove more loads (due to fewer PHI nodes
standing in the way).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83746 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-10 23:50:30 +00:00
Anton Korobeynikov
8f8e9f0830
It seems that OR operation does not affect status reg at all.
...
Remove impdef of SRW. This fixes PR4779
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-10 22:17:47 +00:00
Dan Gohman
cda49a0b29
Update this test; the code is the same but it gets counted as one
...
fewer remat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 23:31:04 +00:00
Dan Gohman
11596ed43c
Fix the x86 test-shrink optimization so that it doesn't shrink comparisons
...
when one of the bits being tested would end up being the sign bit in the
narrower type, and a signed comparison is being performed, since this would
change the result of the signed comparison. This fixes PR5132.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83670 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 20:35:19 +00:00
Bob Wilson
83815aeb29
Merge a bunch of NEON tests into larger files so they run faster.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83667 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 20:20:54 +00:00
Bob Wilson
e8e72be33a
Convert some ARM tests with lots of greps to use FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83651 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 17:20:46 +00:00
Evan Cheng
3dc326ba83
Fix a logic error that caused non-rematable loop invariants loads to be licm'ed out of loop.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83622 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 06:21:52 +00:00
Bob Wilson
8795070d50
Commit one last NEON test to use FileCheck. That's all of them now!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83617 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 05:31:56 +00:00
Bob Wilson
0305dd745e
Convert more NEON tests to use FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83616 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 05:14:48 +00:00
Evan Cheng
35ca9203f2
Reset kill markers after live interval is reconstructed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83608 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 01:17:11 +00:00
Dale Johannesen
e91b9a3b59
When considering whether to inline Callee into Caller,
...
and that will make Caller too big to inline, see if it
might be better to inline Caller into its callers instead.
This situation is described in PR 2973, although I haven't
tried the specific case in SPASS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 00:11:32 +00:00
Bob Wilson
5631139a69
Add codegen support for NEON vst4lane intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83600 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-09 00:01:36 +00:00
Bob Wilson
8cdb269686
Add codegen support for NEON vst3lane intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83598 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 23:51:31 +00:00
Bob Wilson
c5c6edb74f
Add codegen support for NEON vst2lane intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 23:38:24 +00:00
Bob Wilson
4cf0189d5a
Convert more NEON tests to use FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83595 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 23:33:03 +00:00
Bob Wilson
62e053e5a1
Add codegen support for NEON vld4lane intrinsics with 128-bit vectors.
...
Also fix some copy-and-paste errors in previous changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83590 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 22:53:57 +00:00
Bob Wilson
5d78275493
Convert more NEON tests to use FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 22:33:53 +00:00
Bob Wilson
0bf7d998b4
Add codegen support for NEON vld3lane intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83585 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 22:27:33 +00:00
Bill Wendling
26c6cf4cec
It's possible for a global variable to be optimized out of a metadata object. So
...
we should allow a "null" with this dyn_cast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83573 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 20:52:51 +00:00
Anton Korobeynikov
632606c724
Use lower16 / upper16 imm modifiers to asmprint 32-bit imms splitted via movt/movw pair.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 20:43:22 +00:00
Bob Wilson
30aea9d96e
Add codegen support for NEON vld2lane intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83568 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 18:56:10 +00:00
Richard Osborne
c96c8e0e81
Add some peepholes for signed comparisons using ashr X, X, 32.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83549 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 15:38:17 +00:00
Bob Wilson
67a6103a34
Convert more NEON tests to use FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83528 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 06:02:10 +00:00
Bob Wilson
deb3141cf5
Add codegen support for NEON vst4 intrinsics with <1 x i64> vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 05:18:18 +00:00
Mikhail Glushenkov
39482dde66
Input files should go before all other options.
...
Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83524 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 04:40:08 +00:00
Bob Wilson
5adf60c03b
Add codegen support for NEON vst3 intrinsics with <1 x i64> vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 00:28:28 +00:00
Bob Wilson
24e04c535f
Add codegen support for NEON vst2 intrinsics with <1 x i64> vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83513 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-08 00:21:01 +00:00
Bob Wilson
0ea38bb939
Add codegen support for NEON vld4 intrinsics with <1 x i64> vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83508 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 23:54:04 +00:00
Bob Wilson
fe27c512e8
Convert more NEON tests to use FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83507 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 23:47:21 +00:00
Bob Wilson
c67160c010
Add codegen support for NEON vld3 intrinsics with <1 x i64> vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83506 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 23:39:57 +00:00
Bob Wilson
a4288080e6
Add codegen support for NEON vld2 intrinsics with <1 x i64> vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83502 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 22:57:01 +00:00
Dale Johannesen
5f3663e51d
Fix handling of x86 'R' constraint.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83499 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 22:47:20 +00:00
Bob Wilson
b2cae81ac4
Convert more NEON tests to use FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83497 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 22:30:19 +00:00
Kevin Enderby
5440f6309d
Fixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so
...
that a symbol stub section with no attributes can be parsed as in:
.section __TEXT,__picsymbolstub4,symbol_stubs,none,16
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83488 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 20:57:20 +00:00
Bob Wilson
99c372e723
Convert test to FileCheck.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83487 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 20:51:42 +00:00
Bob Wilson
63c9063434
Add codegen support for NEON vst4 intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83486 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 20:49:18 +00:00
Bob Wilson
66a70639da
Add codegen support for NEON vst3 intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83484 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 20:30:08 +00:00
Bob Wilson
d285575f87
Add codegen support for NEON vst2 intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83482 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 18:47:39 +00:00
Bob Wilson
7708c22baa
Add codegen support for NEON vld4 intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83479 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 18:09:32 +00:00
Bob Wilson
ff8952e8a9
Add codegen support for NEON vld3 intrinsics with 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83471 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 17:24:55 +00:00
Bob Wilson
967f87578d
Add tests for vld2 of 128-bit vectors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83468 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07 17:19:13 +00:00
Bob Wilson
ec1d81c389
Update NEON struct names to match llvm-gcc changes.
...
(This is not required for correctness but might help with sanity.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83415 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06 21:16:19 +00:00
Dan Gohman
e3cc3f3c84
Instead of printing unnecessary basic block labels as labels in
...
verbose-asm mode, print comments instead. This eliminates a non-comment
difference between verbose-asm mode and non-verbose-asm mode.
Also, factor out the relevant code out of all the targets and into
target-independent code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83392 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06 17:38:38 +00:00
Chris Lattner
7963e15951
remove predicate simplifier, it never got the last bugs beaten
...
out of it, and jump threading, condprop and gvn are now getting
most of the benefit. This was approved by Nicholas and Nicolas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83390 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06 16:59:46 +00:00
Jeffrey Yasskin
4ece4e26f2
Add a test for http://llvm.org/PR3043 .
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05 23:51:08 +00:00
Evan Phoenix
1614e50d9f
Extend ConstantFolding to understand signed overflow variants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83338 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05 22:53:52 +00:00
Chris Lattner
e65cd40ab9
teach the optimizer how to constant fold uadd/usub intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83295 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05 05:26:04 +00:00
Chris Lattner
bbc33853a5
instcombine shouldn't delete all null checks for mallocs.
...
This fixes PR5130.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83290 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05 02:47:47 +00:00
Torok Edwin
e1b691f208
Fix make rule when objdir is inside srcdir.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-02 09:30:03 +00:00
Evan Cheng
3825ce8c24
Fix tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-02 06:53:57 +00:00
Evan Cheng
0bc1e0b8ee
Fix test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83240 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-02 06:50:50 +00:00