Bruno Cardoso Lopes
3722f007b6
Replace unpckl_undef and unpckh_undef matching with target specific opcodes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112806 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 05:23:12 +00:00
Bruno Cardoso Lopes
dd69db858c
Move condition out to prepare for more matching
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112805 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 04:20:26 +00:00
Bruno Cardoso Lopes
ad10fb2b56
Remove checking for isUNPCKL_v_undef_Mask, the specific node is already emitted for it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112804 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 03:57:58 +00:00
NAKAMURA Takumi
1b68af4183
llvm::FindExecutable(): Retrieve the name with suffix.exe, if available.
...
bugpoint uses it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112803 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 03:46:04 +00:00
NAKAMURA Takumi
b51633b476
test/loop-strength-reduce4: Add explicit triplet for Win32 host.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112802 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 03:45:58 +00:00
NAKAMURA Takumi
fd03a5124d
test/twoaddr-coalesce: Do not use @main.
...
Win32 codegen emits implicit invoking __main into, to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112801 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 03:45:51 +00:00
Bruno Cardoso Lopes
d00bfe1f8d
become more strict about when it's safe to use X86ISD::MOVLPS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112799 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 02:35:51 +00:00
Eric Christopher
1f58741aab
Clang's -ccc-host-triple was ignoring the arch specifier on my triple,
...
I don't need to implement this quite yet - and not for ConstantInt anyhow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112798 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 02:30:46 +00:00
Eric Christopher
1b61ef4b22
This should be TargetMaterializeConstant instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112795 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 01:48:11 +00:00
Eric Christopher
eaa204b2f8
One definition of isThumb is plenty, thanks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112793 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 01:39:14 +00:00
Jim Grosbach
b0739b7833
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112790 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 01:02:06 +00:00
Eric Christopher
318b6eec8d
Rework arm fast-isel load and store handling. Move offset computation
...
into the "address selection" routine and handle constant materialization
for stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112788 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 00:53:56 +00:00
Jim Grosbach
d273a003b6
Add a bit of debug output for register scavenging
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112787 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 00:51:37 +00:00
Chris Lattner
b742ff084f
updates to make it clear that this applies to clang and other llvm subprojects.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112781 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 00:09:17 +00:00
Jim Grosbach
7af3a345a9
trivial cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112779 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02 00:02:26 +00:00
Jim Grosbach
352f23529c
Simplify the tGPR register class now that the register allocators know not
...
to try to allocate reserved registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112774 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 23:50:23 +00:00
Bob Wilson
d0b69cf119
Remove NEON vmull, vmlal, and vmlsl intrinsics, replacing them with multiply,
...
add, and subtract operations with zero-extended or sign-extended vectors.
Update tests. Add auto-upgrade support for the old intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112773 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 23:50:19 +00:00
Dan Gohman
a2259e17b7
Reword this comment. Don't mention outs(), as that's not what
...
this code is actually testing for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112767 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 23:33:02 +00:00
Chris Lattner
72eaa0e5eb
deepen my MMX/SRoA hack to avoid hurting non-x86 codegen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112763 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 23:09:27 +00:00
Bruno Cardoso Lopes
4783a3ee13
Revert r112689, avoid those kind of checks cause they mess up with mmx
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 22:59:03 +00:00
Jim Grosbach
188da252ab
Tweak to ignoring reserved regs. The allocator was occasionally still looking
...
at them since they'd end up in the register weights list. Tell it to stop
doing that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112756 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 22:48:34 +00:00
Dale Johannesen
97511ceffa
Recommit with changes. Comment out palignr for the
...
moment, as there's a testcase that uses it and expects it
to be subject to optimizations; we won't be doing that.
Some adjustments based on feedback from Bill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112754 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 22:43:48 +00:00
Bruno Cardoso Lopes
29c353b9c3
Using target specific nodes for shuffle nodes makes the mask
...
check more strict, breaking some cases not checked in the
testsuite, but also exposes some foldings not done before,
as this example:
movaps (%rdi), %xmm0
movaps (%rax), %xmm1
movaps %xmm0, %xmm2
movss %xmm1, %xmm2
shufps $36, %xmm2, %xmm0
now is generated as:
movaps (%rdi), %xmm0
movaps %xmm0, %xmm1
movlps (%rax), %xmm1
shufps $36, %xmm1, %xmm0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112753 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 22:33:20 +00:00
Eric Christopher
543cf05b9c
Some basic store support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112752 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 22:16:27 +00:00
Jakob Stoklund Olesen
0077114efc
Teach RemoveCopyByCommutingDef to check all aliases, not just subregisters.
...
This caused a miscompilation in WebKit where %RAX had conflicting defs when
RemoveCopyByCommutingDef was commuting a %EAX use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112751 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 22:15:35 +00:00
Dale Johannesen
a314afe658
Apparently only Darwin passes long double misaligned. Compensate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112748 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 21:57:20 +00:00
Jim Grosbach
662fb77687
tidy up trailing whitespace and an 80 column violation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112746 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 21:48:06 +00:00
Dan Gohman
b0a57210a4
Fix loop unswitching's assumption that a code path which either
...
infinite loops or exits will eventually exit. This fixes PR5373.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112745 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 21:46:45 +00:00
Dale Johannesen
6e3665bcd0
Revert 112740, it broke some clang tests somehow...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112744 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 21:36:44 +00:00
Jim Grosbach
5a4cbea312
cleanup per feedback. use a helper function for getting the first non-reserved
...
physical register in a register class. Make sure to assert if the register
class is empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112743 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 21:34:41 +00:00
Jim Grosbach
269354e570
The register allocator shouldn't consider allocating reserved registers. PBQP version.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112742 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 21:23:03 +00:00
Jim Grosbach
067a648599
The register allocator shouldn't consider allocating reserved registers.
...
r112728 did this for fast regalloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112741 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 21:04:27 +00:00
Dale Johannesen
6a94cbb72e
Add a few more missing MMX operations. This should be it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112740 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 21:03:03 +00:00
Chris Lattner
f57fcf7844
update the tutorial to use CreateFAdd to create fp operations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112733 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 20:09:20 +00:00
Jim Grosbach
1f758831cb
The register allocator shouldn't consider allocating reserved registers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112728 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 19:28:41 +00:00
Owen Anderson
c096704c4a
Disable CorrelatedValuePropagation while I track down selfhost failures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112727 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 19:20:46 +00:00
Jim Grosbach
07cb689d62
tidy up a few 80-column and trailing whitespace bits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112726 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 19:16:29 +00:00
Bill Wendling
ee70d3b27f
The output of opt -stats must be sent to stderr. Patch by NAKAMURA Takumi!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112724 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 18:32:56 +00:00
Owen Anderson
5627db6fb9
Tentatively add correlated value propagation to the set of standard passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112723 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 18:30:15 +00:00
Owen Anderson
9bfa6fec06
JumpThreading keeps LazyValueInfo up to date, so we don't need to rerun it
...
if we schedule another LVI-using pass afterwards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112722 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 18:27:22 +00:00
Eric Christopher
4e68c7cca4
Add some more load types in.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112721 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 18:01:32 +00:00
Eric Christopher
adc581f5cb
Speculatively revert 112699 and 112702, they seem to be causing
...
self host errors on clang-x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112719 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 17:29:10 +00:00
Chris Lattner
f636aa9c7e
have the makefiles check the llvm-config error code instead of charging
...
on an producing weird link errors. Patch by Yuri Gribov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112714 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 16:11:17 +00:00
Chris Lattner
0b5b18340b
dead code patrol
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112713 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 16:06:39 +00:00
Chris Lattner
14ab39e43f
zap dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112712 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 16:04:34 +00:00
Chris Lattner
5bcb8a6112
temporarily revert r112664, it is causing a decoding conflict, and
...
the testcases should be merged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112711 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 16:00:50 +00:00
Chris Lattner
a51d89ce16
zap dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112708 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 15:44:05 +00:00
Chris Lattner
8861e275d0
remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112707 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 15:39:31 +00:00
Dan Gohman
d4c454317a
Make tool_output_file's raw_ostream instance a member variable instead
...
of a base class.
This makes it possible to unregister the file from FilesToRemove when
the file is done. Also, this eliminates the need for
formatted_tool_output_file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 14:20:41 +00:00
Dan Gohman
41154114f6
Add an interface for unregistering a file from the FilesToRemove list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112705 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-01 14:17:34 +00:00