Chris Lattner
a492d29c23
improve comment.
...
llvm-svn: 66778
2009-03-12 06:46:02 +00:00
Evan Cheng
4465954638
Enable Chris' value propagation change. It make available known sign, zero, one bits information for values that are live out of basic blocks. The goal is to eliminate unnecessary sext, zext, truncate of values that are live-in to blocks. This does not handle PHI nodes yet.
...
llvm-svn: 66777
2009-03-12 06:29:49 +00:00
Evan Cheng
ef0b7cc2d5
On x86, if the only use of a i64 load is a i64 store, generate a pair of double load and store instead.
...
llvm-svn: 66776
2009-03-12 05:59:15 +00:00
Chris Lattner
7b87e542dc
add no-unwind, remove duplicate run line.
...
llvm-svn: 66775
2009-03-12 05:56:37 +00:00
Chris Lattner
1d5cf4bcdd
add nounwinds
...
llvm-svn: 66773
2009-03-12 05:35:33 +00:00
Bill Wendling
207495d8ea
Revert r66765 and r66766. These were causing build failures on Darwin.
...
llvm-svn: 66770
2009-03-12 04:10:09 +00:00
Nick Lewycky
c46949c278
Regenerate.
...
llvm-svn: 66766
2009-03-12 03:34:33 +00:00
Nick Lewycky
ca433d8a84
Set ARCH to x86 on mixed 32/64-bit Linux systems.
...
Remove the explicit if OS = Darwin test around the setting of -m32/-m64.
llvm-svn: 66765
2009-03-12 03:34:19 +00:00
Sanjiv Gupta
8bb50e2344
Forgot to check-in this as part of 7761.
...
llvm-svn: 66763
2009-03-12 03:20:07 +00:00
Sanjiv Gupta
f883419b2f
Banksel optimization is now based on the section names of symbols, since the symbols in one section will always be put into one bank.
...
llvm-svn: 66761
2009-03-12 02:10:45 +00:00
Dale Johannesen
9cdb9bb3e5
Allow for switch values bigger than 64 bits.
...
llvm-svn: 66751
2009-03-12 01:20:06 +00:00
Daniel Dunbar
aa75c9d8d8
Add StringMap::lookup.
...
llvm-svn: 66750
2009-03-12 01:16:06 +00:00
Dale Johannesen
5a41b2def5
Fix some nondeterministic behavior when forwarding
...
from a switch table. Multiple table entries that
branch to the same place were being sorted by the
pointer value of the ConstantInt*; changed to sort
by the actual value of the ConstantInt.
llvm-svn: 66749
2009-03-12 01:00:26 +00:00
Evan Cheng
690b635aa6
Also pass -gcc-tool-args when building a shared object.
...
llvm-svn: 66746
2009-03-12 00:53:34 +00:00
Dan Gohman
5637df37cd
Revert r66024. The JIT encoding for CALLpcrel32 is wrong -- see PR3773, and the
...
assembly text output uses an indirect call ("call *") instead of a direct call.
llvm-svn: 66735
2009-03-11 23:01:47 +00:00
Gabor Greif
d9065c4e29
update
...
llvm-svn: 66733
2009-03-11 22:52:25 +00:00
Rafael Espindola
294943c99b
optimize i8 and i16 tls values.
...
llvm-svn: 66725
2009-03-11 22:40:04 +00:00
Owen Anderson
aabe06d92a
Reorganization: Move the Spiller out of VirtRegMap.cpp into its own files. No (intended) functionality change.
...
llvm-svn: 66720
2009-03-11 22:31:21 +00:00
Bill Wendling
42adc73a2b
Add a -no-implicit-float flag. This acts like -soft-float, but may generate
...
floating point instructions that are explicitly specified by the user.
llvm-svn: 66719
2009-03-11 22:30:01 +00:00
Dale Johannesen
08ccba73a7
Skip interleaved debug info when fast-forwarding through
...
allocations. Apparently the assumption is there is an
instruction (terminator?) following the allocation so I
am allowing the same assumption.
llvm-svn: 66716
2009-03-11 22:19:43 +00:00
Evan Cheng
6cba561648
My last coalescer fix introduced a subtler one. It's aborting a commuting optimization too late and left the live intervals to be out of sync with instructions. This fixes 8b10b.
...
llvm-svn: 66715
2009-03-11 22:18:44 +00:00
Dale Johannesen
f61c8e81bd
Debug intriniscs should be skipped when looking
...
for a dependency, not terminate the search.
llvm-svn: 66709
2009-03-11 21:13:01 +00:00
Anton Korobeynikov
7d4d379a00
Another bug :(
...
llvm-svn: 66708
2009-03-11 21:05:21 +00:00
Torok Edwin
5202cc0036
Make Print callable from a pass's print method: add const qualifier. No
...
functionality change.
llvm-svn: 66700
2009-03-11 20:50:17 +00:00
Anton Korobeynikov
38961d5bd6
I should definitely read make docs someday :(
...
llvm-svn: 66699
2009-03-11 20:40:15 +00:00
Gabor Greif
42225e50f3
do not pretend llvm/.../*.h being system headers
...
llvm-svn: 66697
2009-03-11 20:23:40 +00:00
Anton Korobeynikov
3b046d084e
Unbreak the build. Dunno, why it did not fail on mingw :(
...
llvm-svn: 66692
2009-03-11 20:16:05 +00:00
Duncan Sands
4581bebf2a
It makes no sense to have a ODR version of common
...
linkage, so remove it.
llvm-svn: 66690
2009-03-11 20:14:15 +00:00
Gabor Greif
605c7cab75
fix validator errors
...
llvm-svn: 66688
2009-03-11 20:04:08 +00:00
Gabor Greif
bfdf23f07c
Fix exaples using IRBuilder. Thanks, Quadrescence and Glip7 from IRC!
...
llvm-svn: 66687
2009-03-11 19:51:07 +00:00
Anton Korobeynikov
a09ba46ee3
Disable plugins / shared stuff generation on windows targets.
...
This fixes fallout from recent PIC/delibtoolize changes and unbreaks
build on cygming.
llvm-svn: 66686
2009-03-11 19:49:42 +00:00
Mon P Wang
25c6a46a81
For yonah, fix a vector shuffle case for v16i8 where we didn't properly clear some bits.
...
llvm-svn: 66684
2009-03-11 18:47:57 +00:00
Chris Lattner
be0d672ac4
implement support for C-style string literal concatenation in td files.
...
llvm-svn: 66663
2009-03-11 17:08:13 +00:00
Chris Lattner
93e87652f2
fix PR3785, a valgrind error on test/CodeGen/ARM/pr3502.ll
...
llvm-svn: 66660
2009-03-11 16:14:25 +00:00
Duncan Sands
be69d60d54
Add parentheses to pacify gcc-4.3.
...
llvm-svn: 66653
2009-03-11 09:04:34 +00:00
Duncan Sands
e2881053c9
Remove the one-definition-rule version of extern_weak
...
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.
llvm-svn: 66650
2009-03-11 08:08:06 +00:00
Nate Begeman
664cf27602
Allow cross-process JIT to handle MachineRelocations of the ExternalSymbol
...
variety. For example, an i64 div might turn into a call to __divdi3 during
legalization.
llvm-svn: 66646
2009-03-11 07:03:43 +00:00
Mon P Wang
ce6a26cb1a
Fixed a v8i16 shuffle case that should generate a pshufb instead of a pshuflw/hw.
...
llvm-svn: 66645
2009-03-11 06:35:11 +00:00
Chris Lattner
248ad00afd
formatting change, reduce indentation. No functionality change.
...
llvm-svn: 66642
2009-03-11 05:48:52 +00:00
Chris Lattner
43d6377f89
reapply my previous patch (r66358) with a tweak to set the
...
alignment of the generated constant pool entry to the
desired alignment of a type. If we don't do this, we end up
trying to do movsd from 4-byte alignment memory. This fixes
450.soplex and 456.hmmer.
llvm-svn: 66641
2009-03-11 05:08:08 +00:00
Bill Wendling
1df2c1b583
Put the assignment back at the top of this method.
...
llvm-svn: 66611
2009-03-11 00:03:50 +00:00
Evan Cheng
64b3f9d7a7
Two coalescer fixes in one.
...
1. Use the same value# to represent unknown values being merged into sub-registers.
2. When coalescer commute an instruction and the destination is a physical register, update its sub-registers by merging in the extended ranges.
llvm-svn: 66610
2009-03-11 00:03:21 +00:00
Bill Wendling
9621b099af
Make ivars private. Other cleanup. No functionality change.
...
llvm-svn: 66607
2009-03-10 23:57:09 +00:00
Mon P Wang
1073de0d73
Changed Allocate to use size_t instead of unsigned.
...
llvm-svn: 66602
2009-03-10 23:48:49 +00:00
Dan Gohman
dab7b9355f
Add an explicit keyword.
...
llvm-svn: 66595
2009-03-10 23:10:46 +00:00
Mon P Wang
cc51b03a4e
Fixed rounding up EltSize
...
llvm-svn: 66594
2009-03-10 23:04:40 +00:00
Gabor Greif
19393b0064
Give Op<N>() AppleScript-like semantics, i.e. for negative N it indexes relative to op_end.
...
This is a preliminary to changes to come. No intended functionality change.
llvm-svn: 66593
2009-03-10 23:02:13 +00:00
Bill Wendling
86c2656416
Just make the Dwarf timer group static inside of the getter function. No need to alloc/dealloc.
...
llvm-svn: 66591
2009-03-10 22:58:53 +00:00
Bill Wendling
b74d650727
Don't put static functions in anonymous namespace.
...
llvm-svn: 66589
2009-03-10 22:36:31 +00:00
Dale Johannesen
900aaa3d1e
Don't consider debug intrinsics when checking
...
whether a callee to be inlined is a leaf.
llvm-svn: 66588
2009-03-10 22:20:02 +00:00