Dan Gohman
95628cd44a
Make this test independent of the target-triple; the stack alignment
...
is specifically what this test depends on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51599 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 17:44:23 +00:00
Gabor Greif
0a4fd1ab7e
back out last commit: The .cpp file for a module should include its corresponding header first, even if redundant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51598 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 17:26:02 +00:00
Matthijs Kooijman
8e1cddc11d
Use an explicit llvm:: prefix in the STATISTIC macro, so STATISTIC can still be
...
used when "using namespace llvm" is not in effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51592 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 12:41:24 +00:00
Duncan Sands
43e2a03530
Fix some constructs that gcc-4.4 warns about.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51591 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 11:50:51 +00:00
Gabor Greif
3d8710e80a
prune unneeded #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51590 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 11:06:03 +00:00
Gabor Greif
b9d9eba916
remove unneeded reinterpret_casts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51589 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 11:03:29 +00:00
Gabor Greif
9a6246c734
We have the correct headers included to know that BB isa Value. No reinterpret_cast necessary.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51588 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 10:48:39 +00:00
Owen Anderson
9e2abd3840
Remove ADCE from the optimization pipeline.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51581 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 04:27:27 +00:00
Nick Lewycky
6918a9141e
InequalityGraph::node() can create new nodes, invalidating iterators across
...
the set of nodes. Fix makeEqual to handle this by creating the new node first
then iterating across them second.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51573 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-27 00:59:05 +00:00
Nick Lewycky
70ef629d46
Grammaro.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51572 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 22:49:36 +00:00
Gabor Greif
6c80c38160
eliminate calls to deprecated Use::init() interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51570 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 21:33:52 +00:00
Nick Lewycky
aadc6b68c7
Whoops -- forgot PR reference on this test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51569 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 20:23:33 +00:00
Nick Lewycky
3978927dfa
The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and
...
sometimes a "mov %ebp, %esp" in the epilogue.
Force these tests that rely on counting 'mov' to use i686-apple-darwin8.8.0
where they were written.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51568 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 20:18:56 +00:00
Duncan Sands
28c3cff825
Factor code to copy global value attributes like
...
the section or the visibility from one global
value to another: copyAttributesFrom. This is
particularly useful for duplicating functions:
previously this was done by explicitly copying
each attribute in turn at each place where a
new function was created out of an old one, with
the result that obscure attributes were regularly
forgotten (like the collector or the section).
Hopefully now everything is uniform and nothing
is forgotten.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51567 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 19:58:59 +00:00
Owen Anderson
78ecf0d7b1
Use a DenseMap instead of an std::map, speeding up the testcase in PR2368 by about a third.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51565 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 10:07:43 +00:00
Bill Wendling
a16157a410
The enabling of remat in 2-address conversion breaks this test:
...
Running /Users/void/llvm/llvm.src/test/CodeGen/X86/dg.exp ...
FAIL: /Users/void/llvm/llvm.src/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll
Failed with exit(1) at line 1
while running: llvm-as < /Users/void/llvm/llvm.src/test/CodeGen/X86/2007-11-30-LoadFolding-Bug.ll | llc -march=x86 -mattr=+sse2 -stats |& grep {1 .*folded into instructions}
child process exited abnormally
Make this conditional for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51563 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 05:49:49 +00:00
Bill Wendling
48f7f237ea
A problem that's exposed when machine LICM is enabled. Consider this code:
...
LBB1_3: # bb
...
xorl %ebp, %ebp
subl (%ebx), %ebp
...
incl %ecx
cmpl %edi, %ecx
jl LBB1_3 # bb
Whe using machine LICM, LLVM converts it into:
xorl %esi, %esi
LBB1_3: # bb
...
movl %esi, %ebp
subl (%ebx), %ebp
...
incl %ecx
cmpl %edi, %ecx
jl LBB1_3 # bb
Two address conversion inserts the copy instruction. However, it's cheaper to
rematerialize it, and remat helps reduce register pressure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51562 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 05:18:34 +00:00
Nick Lewycky
505242f9b6
Use {} instead of "" in RUN lines.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51561 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-26 01:27:08 +00:00
Nick Lewycky
04b35e8532
Don't treat values as signed when looking at loop steppings in HowForToNonZero.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51560 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-25 23:43:32 +00:00
Nick Lewycky
3dfd7bf511
"ret (constexpr)" can't be folded into a Constant. Add a method to
...
Analysis/ConstantFolding to fold ConstantExpr's, then make instcombine use it
to try to use targetdata to fold constant expressions on void instructions.
Also extend the icmp(inttoptr, inttoptr) folding to handle the case where
int size != ptr size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51559 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-25 20:56:15 +00:00
Owen Anderson
a5464f3659
Create archives with the same permissions are ar.
...
Patch by Mikael Lepistö.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51540 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 05:42:29 +00:00
Chris Lattner
cad93bd1c3
Fix win32 when no bison is around, PR2331, patch by 'hume'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51539 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 05:11:48 +00:00
Chris Lattner
e7a83dfac6
Add FreeBSD/PPC support, patch by Marcel Moolenaar!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51538 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 04:58:48 +00:00
Chris Lattner
393f7eb60a
Fix a serious brain-o. Obviously no-one reviewed my patch :(
...
This fixes PR2359
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51536 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 04:06:28 +00:00
Chris Lattner
60301608f8
Fix PR2358 by resolving calls with undef arguments to overdefined.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51535 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 03:59:33 +00:00
Evan Cheng
a31593901d
Eliminate x86.sse2.punpckh.qdq and x86.sse2.punpckl.qdq.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51533 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 02:56:30 +00:00
Evan Cheng
e716bb1c59
Eliminate x86.sse2.movs.d, x86.sse2.shuf.pd, x86.sse2.unpckh.pd, and x86.sse2.unpckl.pd intrinsics. These will be lowered into shuffles.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51531 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 02:14:05 +00:00
Duncan Sands
5ea38a6144
Tweak how ConstantFP80Ty constants are output
...
so that gcc doesn't warn about them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51529 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 01:00:52 +00:00
Dale Johannesen
247580b569
Put initialized const weak objects into correct
...
sections on ppc32 darwin. g++.dg/abi/key2.C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51527 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 00:10:20 +00:00
Evan Cheng
fe5b159ae2
This is done.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51526 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 00:10:13 +00:00
Evan Cheng
ef1ba3844d
New loadl_pd and loadh_pd tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51525 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 00:10:02 +00:00
Evan Cheng
4797f61657
Autoupgrade x86.sse2.loadh.pd and x86.sse2.loadl.pd.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51523 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 00:08:39 +00:00
Evan Cheng
999dbe6bbc
Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into load and shuffle instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51522 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 00:07:29 +00:00
Evan Cheng
3cc8f9bfef
Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into load and shuffle instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51521 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-24 00:07:06 +00:00
Dale Johannesen
2307a7f0cf
Document common linkage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51517 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 23:13:41 +00:00
Evan Cheng
0a891ed7d5
Revert 51440 as it breaks a bunch of PIC tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51513 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 23:00:04 +00:00
Dan Gohman
ade5faa83f
label is a first-class type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51512 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 22:50:26 +00:00
Dan Gohman
2d0a77a1a4
It turns out there are only 3 non-first-class type kinds left now, so
...
it's simpler for isFirstClassType to use a negative test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51511 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 22:47:52 +00:00
Dan Gohman
a834fcaebb
Remove a bogus svn:mime-type property.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51510 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 22:27:01 +00:00
Dan Gohman
c4b49eb985
Update the description of first-class types to reflect that
...
structs and arrays are now first-class. And fix a sentance
fragment in the insertvalue description. Thanks to Chris
for pointing these out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51506 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 21:53:15 +00:00
Dan Gohman
80f0f616e8
Don't silently truncate array extents to 32 bits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51505 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 21:40:55 +00:00
Dale Johannesen
80d7e26513
Add a missed CommonLinkage check.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51503 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 21:33:27 +00:00
Evan Cheng
cd0baf21a1
Use movlps / movhps to modify low / high half of 16-byet memory location.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51501 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 21:23:16 +00:00
Dan Gohman
3bf19e4c42
Remove lingering references to .llx and .tr in the tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51500 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 21:15:35 +00:00
Dan Gohman
02dea8b39f
Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to
...
use it instead of duplicating its functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51499 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 21:05:58 +00:00
Dan Gohman
ee335e35ac
Add #includes to make some dependencies explicit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51496 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 20:40:06 +00:00
Dan Gohman
9c531cdf02
Issue errors in several situations instead of aborting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51493 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 18:23:11 +00:00
Dan Gohman
a9e75631a7
Elaborate on the entry on integer vector multiplication by constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51491 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 18:05:39 +00:00
Evan Cheng
50f778deed
Fix a duplicated pattern.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51490 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 18:00:18 +00:00
Dan Gohman
0b924dcef8
Use PMULDQ for v2i64 multiplies when SSE4.1 is available. And add
...
load-folding table entries for PMULDQ and PMULLD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51489 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-23 17:49:40 +00:00