Owen Anderson
86201cfdd9
Fix typo. I accidentally edited the wrong file before my last commit.
...
llvm-svn: 112851
2010-09-02 19:52:06 +00:00
Benjamin Kramer
dd16ed1618
Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.
...
llvm-svn: 112849
2010-09-02 18:53:37 +00:00
Jim Grosbach
4d64fc98b6
remove trailing whitespace
...
llvm-svn: 112847
2010-09-02 18:44:51 +00:00
Bruno Cardoso Lopes
7132e91cdb
Move x86 specific shuffle mask decoding to its own header, it's also going to be used elsewhere. Also trim trailing whitespaces
...
llvm-svn: 112846
2010-09-02 18:40:13 +00:00
Jim Grosbach
b35c81846b
The scavenger should just use getAllocatableSet() rather than reinventing it
...
locally.
llvm-svn: 112845
2010-09-02 18:29:04 +00:00
Dan Gohman
7abb8df743
Apply a patch from Kees van Reeuwijk to add support for Minix.
...
Minix apparently doesn't like double-slash separators, and there's
no apparent need for them here.
llvm-svn: 112844
2010-09-02 18:24:46 +00:00
Owen Anderson
3206920eb2
Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the LVI lattice, undef and the full set ConstantRange should not
...
be treated as equivalent.
llvm-svn: 112843
2010-09-02 18:23:58 +00:00
Jim Grosbach
ed278df6ec
handle case where a register class is specified
...
llvm-svn: 112842
2010-09-02 18:18:52 +00:00
Jim Grosbach
8f30718112
Now that register allocation properly considers reserved regs, simplify the
...
ARM register class allocation order functions to take advantage of that.
llvm-svn: 112841
2010-09-02 18:14:29 +00:00
Dan Gohman
5cf037ea20
Add a comment.
...
llvm-svn: 112836
2010-09-02 17:35:10 +00:00
Benjamin Kramer
4d2c506037
Allow MCSA_WeakRef in ELF. Patch by Roman Divacky.
...
llvm-svn: 112834
2010-09-02 17:18:32 +00:00
Jim Grosbach
8a3babf59a
Anti-dependency breaking needs to be careful not to use reserved regs
...
llvm-svn: 112832
2010-09-02 17:12:55 +00:00
Devang Patel
bbbd35d042
Fix .debug_range for linux. Patch by Krister Wombell.
...
llvm-svn: 112830
2010-09-02 16:43:44 +00:00
Jim Grosbach
4965868724
Mask out reserved registers when constructing the set of allocatable regs.
...
llvm-svn: 112828
2010-09-02 16:31:21 +00:00
Bob Wilson
c2c106f73e
Fill in a missing comment.
...
llvm-svn: 112826
2010-09-02 16:17:29 +00:00
Bob Wilson
8951c7592c
Convert VLD1 and VLD2 instructions to use pseudo-instructions until
...
after regalloc.
llvm-svn: 112825
2010-09-02 16:00:54 +00:00
Mikhail Glushenkov
486aba548f
llvmc: .dylib support.
...
llvm-svn: 112818
2010-09-02 14:06:21 +00:00
Duncan Sands
6b382d04f4
Print the number of uses of a function in the .ll since it can be informative
...
and there seems to be no reason not to.
llvm-svn: 112812
2010-09-02 08:52:23 +00:00
Lang Hames
e80abebead
Added support for register allocators to record which intervals are spill intervals, and where the uses and defs of the original intervals were in the original code.
...
Spill intervals can be hidden using the "-rmf-intervals=virt-nospills*" option.
llvm-svn: 112811
2010-09-02 08:27:00 +00:00
Duncan Sands
a95548a8d2
Reapply commit 112699, speculatively reverted by echristo, since
...
I'm sure it is harmless. Original commit message:
If PrototypeValue is erased in the middle of using the SSAUpdator
then the SSAUpdator may access freed memory. Instead, simply pass
in the type and name explicitly, which is all that was used anyway.
llvm-svn: 112810
2010-09-02 08:14:03 +00:00
Chandler Carruth
71b26a9243
Silence an ambiguous else warning from GCC.
...
llvm-svn: 112809
2010-09-02 07:08:05 +00:00
Nick Lewycky
7d3f15bab3
Fix compile errors.
...
llvm-svn: 112808
2010-09-02 05:44:31 +00:00
Lang Hames
d19ac535ea
Added counters for PBQP reduction rules.
...
llvm-svn: 112807
2010-09-02 05:37:52 +00:00
Bruno Cardoso Lopes
659f549638
Replace unpckl_undef and unpckh_undef matching with target specific opcodes
...
llvm-svn: 112806
2010-09-02 05:23:12 +00:00
Bruno Cardoso Lopes
9d4a11d4c6
Move condition out to prepare for more matching
...
llvm-svn: 112805
2010-09-02 04:20:26 +00:00
Bruno Cardoso Lopes
1b9095fff1
Remove checking for isUNPCKL_v_undef_Mask, the specific node is already emitted for it
...
llvm-svn: 112804
2010-09-02 03:57:58 +00:00
NAKAMURA Takumi
500a204a62
llvm::FindExecutable(): Retrieve the name with suffix.exe, if available.
...
bugpoint uses it.
llvm-svn: 112803
2010-09-02 03:46:04 +00:00
NAKAMURA Takumi
f5566eebf8
test/loop-strength-reduce4: Add explicit triplet for Win32 host.
...
llvm-svn: 112802
2010-09-02 03:45:58 +00:00
NAKAMURA Takumi
8e620796b6
test/twoaddr-coalesce: Do not use @main.
...
Win32 codegen emits implicit invoking __main into, to fail.
llvm-svn: 112801
2010-09-02 03:45:51 +00:00
Bruno Cardoso Lopes
dcdab94661
become more strict about when it's safe to use X86ISD::MOVLPS
...
llvm-svn: 112799
2010-09-02 02:35:51 +00:00
Eric Christopher
6c3fa8c78f
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.
llvm-svn: 112798
2010-09-02 02:30:46 +00:00
Eric Christopher
cf0b12d117
This should be TargetMaterializeConstant instead.
...
llvm-svn: 112795
2010-09-02 01:48:11 +00:00
Eric Christopher
9dc3582a82
One definition of isThumb is plenty, thanks.
...
llvm-svn: 112793
2010-09-02 01:39:14 +00:00
Jim Grosbach
bb3bfa20e1
Remove trailing whitespace
...
llvm-svn: 112790
2010-09-02 01:02:06 +00:00
Eric Christopher
3aa2bb55d8
Rework arm fast-isel load and store handling. Move offset computation
...
into the "address selection" routine and handle constant materialization
for stores.
llvm-svn: 112788
2010-09-02 00:53:56 +00:00
Jim Grosbach
82a4ac2c83
Add a bit of debug output for register scavenging
...
llvm-svn: 112787
2010-09-02 00:51:37 +00:00
Chris Lattner
67bb18f68c
updates to make it clear that this applies to clang and other llvm subprojects.
...
llvm-svn: 112781
2010-09-02 00:09:17 +00:00
Jim Grosbach
94a445d9d1
trivial cleanup
...
llvm-svn: 112779
2010-09-02 00:02:26 +00:00
Jim Grosbach
2a3afa421b
Simplify the tGPR register class now that the register allocators know not
...
to try to allocate reserved registers.
llvm-svn: 112774
2010-09-01 23:50:23 +00:00
Bob Wilson
3348d2eb50
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.
llvm-svn: 112773
2010-09-01 23:50:19 +00:00
Dan Gohman
bc87387508
Reword this comment. Don't mention outs(), as that's not what
...
this code is actually testing for.
llvm-svn: 112767
2010-09-01 23:33:02 +00:00
Chris Lattner
b1c861e28c
deepen my MMX/SRoA hack to avoid hurting non-x86 codegen.
...
llvm-svn: 112763
2010-09-01 23:09:27 +00:00
Bruno Cardoso Lopes
b73f0cbc7a
Revert r112689, avoid those kind of checks cause they mess up with mmx
...
llvm-svn: 112760
2010-09-01 22:59:03 +00:00
Jim Grosbach
9df54659d3
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.
llvm-svn: 112756
2010-09-01 22:48:34 +00:00
Dale Johannesen
e7c3ecd9dd
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.
llvm-svn: 112754
2010-09-01 22:43:48 +00:00
Bruno Cardoso Lopes
601bf4c6d3
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
llvm-svn: 112753
2010-09-01 22:33:20 +00:00
Eric Christopher
abf61f76c9
Some basic store support.
...
llvm-svn: 112752
2010-09-01 22:16:27 +00:00
Jakob Stoklund Olesen
fe11c81560
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.
llvm-svn: 112751
2010-09-01 22:15:35 +00:00
Dale Johannesen
8ac2805d6f
Apparently only Darwin passes long double misaligned. Compensate.
...
llvm-svn: 112748
2010-09-01 21:57:20 +00:00
Jim Grosbach
69ffc23491
tidy up trailing whitespace and an 80 column violation.
...
llvm-svn: 112746
2010-09-01 21:48:06 +00:00