Evan Cheng
8f0d99e463
Re-enable machine sinking pass now that the coalescer bugs and the AnalyzeBrnach bug are fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64126 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09 08:45:39 +00:00
Bill Wendling
171de4fa94
Rename dg.exp to llvmc.exp. This is so I can ignore it during a make check if I want to.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64103 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 22:52:50 +00:00
Mikhail Glushenkov
6dff394afd
The 'false.c' test must depend on llvm-g++.
...
Also, turn on Objective-C/C++ tests.
This should fix http://llvm.org/bugs/show_bug.cgi?id=3499 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 11:44:37 +00:00
Evan Cheng
0a1fcce092
Fix PR3486. Fix a bug in code that manually patch physical register live interval after its sub-register is coalesced with a virtual register.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 11:04:35 +00:00
Evan Cheng
77fde2cbb1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64073 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 07:48:37 +00:00
Bill Wendling
7f51fd3ea9
Revert r63999. It was breaking self-hosting builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64062 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-08 00:58:05 +00:00
Chris Lattner
ed54534a82
testcase for r64049 of llvm-gcc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64050 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07 23:37:03 +00:00
Mon P Wang
6753f959d2
Instrcombine should not change load(cast p) to cast(load p) if the cast
...
changes the address space of the pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64035 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07 22:19:29 +00:00
Evan Cheng
c963b638c7
Enable machine sinking pass in non-fast mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63999 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-07 01:57:46 +00:00
Devang Patel
d96c60df3f
Ignore DbgInfoIntrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63923 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06 06:19:06 +00:00
Chris Lattner
e991ced7cb
fix PR3489, use bits instead of bytes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63916 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06 04:34:07 +00:00
Evan Cheng
77402d1dbf
Fix test. It produces unexpected code if sse4.1 is on.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63906 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06 01:49:19 +00:00
Devang Patel
32d9701d68
Ignore dbg intrinsics while propagating conditional expression info. Take 2.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63898 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 23:32:52 +00:00
Evan Cheng
54801f78b1
isAsCheapAsMove instructions can have register src operands. Check if they are really re-materializable.
...
This fixes sse.expandfft and sse.stepfft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63890 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 22:24:17 +00:00
Devang Patel
998cbb0444
Revert rev. 63876. It is causing llvm-gcc bootstrap failure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 21:46:41 +00:00
Devang Patel
39c873e38f
Remove dead blocks in the end.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63880 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 19:59:42 +00:00
Devang Patel
1851db6b0f
Ignore dbg intrinsics while propagating conditional expression info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63876 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 19:15:39 +00:00
Chris Lattner
ca940bb630
testcase for rdar://6551276 and llvm-gcc r63873
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63874 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 18:15:17 +00:00
Evan Cheng
c5d1a4ffd9
Turn on machine LICM in non-fast mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63855 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 08:46:33 +00:00
Chris Lattner
4798bbeaf5
if we have a large GEP offset on a 32-bit or other target, make
...
sure to print the value properly sext'd to the right pointer size.
This fixes PR3481.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 06:55:21 +00:00
Devang Patel
2cc86a1de1
Ignore dbg intrinsics while folding switch instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63802 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 00:30:42 +00:00
Devang Patel
d0a203d76f
Ignore dbg intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63781 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 21:39:48 +00:00
Mon P Wang
4781ad62d1
Add test case for r63760.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 21:10:56 +00:00
Nate Begeman
0091cf92c6
Remove now-incorrect test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63772 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 21:07:37 +00:00
Duncan Sands
09750273a4
Allow the inverse transform x86_fp80 -> i80 (also
...
fires during the Ada build).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63731 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 11:17:06 +00:00
Duncan Sands
a06aef6ec5
Fix PR3468: a crash when constant folding a bitcast of
...
i80 to x86 long double (this was presumably generated
by sroa).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63730 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 10:17:14 +00:00
Owen Anderson
fe9388ccb4
Finish making AliasAnalysis aware of the fact that most atomic intrinsics only dereference their arguments, and enhance
...
BasicAA to make use of this fact when computing ModRef info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63718 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 05:16:46 +00:00
Mon P Wang
7bcaefaf59
Fixes a case where we generate an incorrect mask for pshfhw in the presence
...
of undefs and incorrectly determining if we have punpckldq.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 01:16:59 +00:00
Devang Patel
556b20ab46
While folding vallue comparison terminators ignore dbg intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63700 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 01:06:11 +00:00
Devang Patel
65085cf7b3
Ignore dbg intrinsics while hoisting common code in the two blocks up into the branch block.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63687 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 00:03:08 +00:00
Devang Patel
383d7ed915
Do not let dbg intrinsic block folding of two entry phi node.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 22:12:02 +00:00
Chris Lattner
1aa7056b13
teach "convert from scalar" to handle loads of fca's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63659 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 21:08:45 +00:00
Chris Lattner
9b872db775
make scalar conversion handle stores of first class
...
aggregate values. loads are not yet handled (coming
soon to an sroa near you).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63649 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 19:30:11 +00:00
Chris Lattner
1a3257bbf5
Make SROA produce a vector only when the alloca is actually
...
accessed at least once as a vector. This prevents it from
compiling the example in not-a-vector into:
define double @test(double %A, double %B) {
%tmp4 = insertelement <7 x double> undef, double %A, i32 0
%tmp = insertelement <7 x double> %tmp4, double %B, i32 4
%tmp2 = extractelement <7 x double> %tmp, i32 4
ret double %tmp2
}
instead, producing the integer code. Producing vectors when they
aren't otherwise in the program is dangerous because a lot of other
code treats them carefully and doesn't want to break them down.
OTOH, many things want to break down tasty i448's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63638 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 18:15:05 +00:00
Chris Lattner
67e3ba3f1d
this produces an undefined result, just check that the alloca is gone
...
and that sroa doesn't crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63637 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 18:13:00 +00:00
Duncan Sands
95c5f05641
Fix PR3411. When replacing values, nodes are analyzed
...
in any old order. Since analyzing a node analyzes its
operands also, this can mean that when we pop a node
off the list of nodes to be analyzed, it may already
have been analyzed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63632 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 10:23:33 +00:00
Evan Cheng
388df627cc
APInt'fy SimplifyDemandedVectorElts so it can analyze vectors with more than 64 elements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63631 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 10:05:09 +00:00
Chris Lattner
55a683d7f0
add another case of undefined behavior without crashing, PR3466.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63620 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 07:08:57 +00:00
Nick Lewycky
2eafb8b404
Revert r63600. It didn't fix the bug, it just moved it a bit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63618 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 06:30:37 +00:00
Nick Lewycky
dac5c4b10b
Update the callgraph when replacing InvokeInst with CallInst when inlining.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63600 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 04:34:40 +00:00
Chris Lattner
ba120aa5fa
fix a bitcode reader bug where it can't handle extractelement correctly:
...
the index of the value being extracted is always an i32. This fixes PR3465
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 02:11:28 +00:00
Chris Lattner
3d730f7453
Teach ConvertUsesToScalar to handle memset, allowing it to handle
...
crazy cases like:
struct f { int A, B, C, D, E, F; };
short test4() {
struct f A;
A.A = 1;
memset(&A.B, 2, 12);
return A.C;
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63596 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 02:01:43 +00:00
Dan Gohman
50bd55848e
Delete these two tests. They are specific to x86-64, and there's no
...
reliable way to do this with the current dejagnu infrastructure.
If someone can figure out how to fix these tests so that they test
what they are intended to test without spuriously failing on any
popular platforms, they are invited to reinstate them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63592 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 01:33:26 +00:00
Chris Lattner
7809ecd5b0
rearrange how SRoA handles promotion of allocas to vectors.
...
With the new world order, it can handle cases where the first
store into the alloca is an element of the vector, instead of
requiring the first analyzed store to have the vector type
itself. This allows us to un-xfail
test/CodeGen/X86/vec_ins_extract.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63590 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 01:30:09 +00:00
Chris Lattner
d91a61ae3d
this test produces an undefined value, we don't care
...
what it is, but we do want the alloca promoted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 01:13:52 +00:00
Bill Wendling
4d4c3da5a9
It fails on Linux. XFAIL that machine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63582 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 00:35:11 +00:00
Bill Wendling
1fa3b4b235
This is passing for us. Should it have been reenabled?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63580 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 00:27:09 +00:00
Dan Gohman
7a01d0e971
Add explicit -march=x86 to these tests so that they don't
...
default to -march=x86-64 on 64-bit hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63579 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 00:20:22 +00:00
Dan Gohman
2ee39de7b6
Fix another test to not use -mcpu=yonah with 64-bit code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02 23:43:59 +00:00
Dan Gohman
e7f5be7d71
Yonah does not support x86-64. Change the -mcpu value to one that does.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63561 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-02 22:50:08 +00:00