- Mar 12, 2009
-
-
Owen Anderson authored
llvm-svn: 66780
-
Chris Lattner authored
related transformations out of target-specific dag combine into the ARM backend. These were added by Evan in r37685 with no testcases and only seems to help ARM (e.g. test/CodeGen/ARM/select_xform.ll). Add some simple X86-specific (for now) DAG combines that turn things like cond ? 8 : 0 -> (zext(cond) << 3). This happens frequently with the recently added cp constant select optimization, but is a very general xform. For example, we now compile the second example in const-select.ll to: _test: movsd LCPI2_0, %xmm0 ucomisd 8(%esp), %xmm0 seta %al movzbl %al, %eax movl 4(%esp), %ecx movsbl (%ecx,%eax,4), %eax ret instead of: _test: movl 4(%esp), %eax leal 4(%eax), %ecx movsd LCPI2_0, %xmm0 ucomisd 8(%esp), %xmm0 cmovbe %eax, %ecx movsbl (%ecx), %eax ret This passes multisource and dejagnu. llvm-svn: 66779
-
Chris Lattner authored
llvm-svn: 66778
-
Evan Cheng authored
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
-
Evan Cheng authored
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
-
Sanjiv Gupta authored
llvm-svn: 66763
-
Sanjiv Gupta authored
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
-
Dale Johannesen authored
llvm-svn: 66751
-
Dale Johannesen authored
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
-
Dan Gohman authored
assembly text output uses an indirect call ("call *") instead of a direct call. llvm-svn: 66735
-
- Mar 11, 2009
-
-
Gabor Greif authored
llvm-svn: 66733
-
Rafael Espindola authored
llvm-svn: 66725
-
Owen Anderson authored
Reorganization: Move the Spiller out of VirtRegMap.cpp into its own files. No (intended) functionality change. llvm-svn: 66720
-
Bill Wendling authored
floating point instructions that are explicitly specified by the user. llvm-svn: 66719
-
Dale Johannesen authored
allocations. Apparently the assumption is there is an instruction (terminator?) following the allocation so I am allowing the same assumption. llvm-svn: 66716
-
Evan Cheng authored
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
-
Dale Johannesen authored
for a dependency, not terminate the search. llvm-svn: 66709
-
Torok Edwin authored
functionality change. llvm-svn: 66700
-
Anton Korobeynikov authored
llvm-svn: 66699
-
Anton Korobeynikov authored
llvm-svn: 66692
-
Duncan Sands authored
linkage, so remove it. llvm-svn: 66690
-
Anton Korobeynikov authored
This fixes fallout from recent PIC/delibtoolize changes and unbreaks build on cygming. llvm-svn: 66686
-
Mon P Wang authored
llvm-svn: 66684
-
Chris Lattner authored
llvm-svn: 66660
-
Duncan Sands authored
llvm-svn: 66653
-
Duncan Sands authored
linkage: this linkage type only applies to declarations, but ODR is only relevant to globals with definitions. llvm-svn: 66650
-
Nate Begeman authored
variety. For example, an i64 div might turn into a call to __divdi3 during legalization. llvm-svn: 66646
-
Mon P Wang authored
llvm-svn: 66645
-
Chris Lattner authored
llvm-svn: 66642
-
Chris Lattner authored
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
-
Bill Wendling authored
llvm-svn: 66611
-
Evan Cheng authored
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
-
Bill Wendling authored
llvm-svn: 66607
-
- Mar 10, 2009
-
-
Bill Wendling authored
llvm-svn: 66591
-
Bill Wendling authored
llvm-svn: 66589
-
Dale Johannesen authored
whether a callee to be inlined is a leaf. llvm-svn: 66588
-
Bill Wendling authored
llvm-svn: 66586
-
Bill Wendling authored
- Remove unused method. llvm-svn: 66585
-
Bill Wendling authored
the untimed version of getOrCreateSourceID. getOrCreateSourceID calls GetOrCreateSourceID, of course. - Move some methods into the "private" section. Constify at least one method. - General clean-ups. llvm-svn: 66582
-
Bill Wendling authored
writing individually. llvm-svn: 66577
-