Commits

Show all
Author Commit Message Labels Comments Date
Evan Cheng
- Fix a x86 vector isel bug: illegal transformation of a vector_shuffle into a shift. - Add a readme entry for a missing vector_shuffle optimization that results in awful codegen.
Tags
2 tags
Duncan Sands
Add support for expanding PPC 128 bit floats. For this it is convenient to permit floats to be used with EXTRACT_ELEMENT, so I tweaked things to allow that. I also added libcalls for ppcf128 to i32 forms of FP_TO_XINT, since they exist in libgcc and this case can certainly occur (and does occur in the testsuite) - before the i64 libcall was being used. Also, the XINT_TO_FP result seemed to be wrong when the argument is an i128: the wrong fu…
Chris Lattner
Implement JIT support for global aliases, patch by David Chisnall!
Evan Cheng
Restore DeadArgElim back to 52570. It's breaking 447.dealII.
Chris Lattner
Switch the PPC backend and target-independent JIT to use the libsystem InvalidateInstructionCache method instead of calling through a hook on the JIT. This is a host feature, not a target feature.
Chris Lattner
fix compilation errors in my previous patch
Chris Lattner
Add a new InvalidateInstructionCache method to sys::Memory.
Chris Lattner
jump threading can introduce allocas, make sure we promote them back to registers!
Chris Lattner
run mem2reg after the second jump threading pass in llvm-ld.
Chris Lattner
remove a bunch of dead options that never did anything.
Chris Lattner
remove some dead options.
Dan Gohman
SimpleInstructionSelector is here no more.
Duncan Sands
Add/complete support for integer and float select_cc and friends. This code could be factorized a bit but I'm not sure that it's worth it.
Duncan Sands
Pacify gcc-4.3.
Dan Gohman
Remove the OrigVT member from AtomicSDNode, as it is redundant with the base SDNode's VTList.
Chris Lattner
simplify shell syntax to work better on solaris, patch by Nathan Keynes!
Mon P Wang
Added MemOperands to Atomic operations since Atomics touches memory. Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and atomic.lss => atomic.load.sub
matthijs
Fix a (false) warning on darwin.
matthijs
Fix some cosmetics in comments.
Evan Cheng
- Use O(1) check of basic block size limit. - Avoid speculatively execute vector ops.
Chris Lattner
Fix PR2488, a case where we deleted stack restores too aggressively.
Evan Cheng
Enable two-address remat by default.
Owen Anderson
Use push_back rather than operator[], which is incorrect in this cases. Unfortunately, this slow the testcase down a little bit, but only marginally.
Gabor Greif
Use present tense when talking about User layout. It is implemented now.
Dan Gohman
Append to the ActiveTimers std::vector before looking at the timer instead of after, so that any reallocation it does doesn't get counted for the pass being timed. This probably doesn't account for a timing discrepancy I was looking into, but I'm fixing it anyway.
Dale Johannesen
v2f32 is now a valid (MMX) type which breaks this test (doesn't work for any MMX vector types, it's not me). Rewritten to use v2i16 which is generic and going to stay that way; I think that preserves the point of the test.
Dale Johannesen
Add v2f32 (MMX) type to X86. Support is primitive: load,store,call,return,bitcast. This is enough to make call and return work.
Owen Anderson
In ConstantArray::getAsString(), we know the size of the resultant string in advance so we can pre-allocate it and just fill in the entries. This improves the time for the AsmPrinter on InstructionCombining.cpp from 0.4248s to 0.3370s.
Owen Anderson
Use SmallVector instead of std::vector for a minor compile time improvement.
Dan Gohman
Revert 52645, the loop unroller changes. It caused a regression in 252.eon.
  1. Prev
  2. Next