- Oct 16, 2011
-
-
Craig Topper authored
Add X86 BEXTR instruction. This instruction uses VEX.vvvv to encode Operand 3 instead of Operand 2 so needs special casing in the disassembler and code emitter. Ultimately, should pass this information from tablegen llvm-svn: 142105
-
Craig Topper authored
Add X86 feature detection support for BMI instructions. Added new cpuid function for accessing leafs with sub leafs specified in ECX. Also added code to keep track of the max cpuid level supported in both basic and extended leaves and qualified the existing cpuid calls and the new call to leaf 7. llvm-svn: 142089
-
- Oct 15, 2011
-
-
Craig Topper authored
Add support for X86 blsr, blsmsk, and blsi instructions. Required extra work because these are the first VEX encoded instructions to use the reg field as an opcode extension. llvm-svn: 142082
-
Nadav Rotem authored
The CELL backend cannot select patterns for vector trunc-store and shl on v2i64; CellSPU/shift_ops.ll fails when promoting elements. llvm-svn: 142081
-
Nadav Rotem authored
llvm-svn: 142080
-
Benjamin Kramer authored
llvm-svn: 142073
-
Duncan Sands authored
use can't be dominated, saving one domtree lookup. llvm-svn: 142066
-
Benjamin Kramer authored
Based on Horspool's simplified version of Boyer-Moore. We use a constant-sized table of uint8_ts to keep cache thrashing low, needles bigger than 255 bytes are uncommon anyways. The worst case is still O(n*m) but we do a lot better on the average case now. llvm-svn: 142061
-
Nadav Rotem authored
cases we need the second type-legalization pass in order to support all cases. llvm-svn: 142060
-
Andrew Trick authored
Just because we're dealing with a GEP doesn't mean we can assert the SCEV has a pointer type. The fix is simply to ignore the SCEV pointer type, which we really didn't need. Fixes PR11138 webkit crash. llvm-svn: 142058
-
NAKAMURA Takumi authored
It extremely breaks builds when optimization is enabled. Twine should not hold temporary objects. By the way, I might feel sad if I saw "i786-" "i1586-" or "iF86-". llvm-svn: 142055
-
Chad Rosier authored
from config.h, it discovers the triple based on the execution environment. Patch by Aaron Ballman <aaron@aaronballman.com> llvm-svn: 142046
-
NAKAMURA Takumi authored
Windows/Memory.inc: Support the ability to allocate memory "near" another block of memory on Win32. It has fixed FIXME. Thanks to Aaron Ballman! llvm-svn: 142039
-
Andrew Trick authored
I rewrote the algorithm a while back so it doesn't require map lookup, but neglected to change the data structure. This was caught by llvm-gcc self host, not because there's anything special about llvm-gcc, but because it is the only test for nondeterminism we currently have. Unit tests don't work well for everything; we should always try to have a nondeterminism stress test running. Fixes PR11133: llvm-gcc self host .o mismatch after enable-iv-rewrite=false llvm-svn: 142036
-
Bill Wendling authored
This isn't put into the 'clear()' method because the information needs to stick around (at least for a little bit) after the selection DAG is built. llvm-svn: 142032
-
Jakob Stoklund Olesen authored
It really doesn't, but when r141929 removed the hasSideEffects flag from this instruction, it caused miscompilations. I am guessing that it got moved across a stack pointer update. Also clear isRematerializable after checking that this instruction is in fact never rematerialized in the nightly test suite. llvm-svn: 142030
-
Chad Rosier authored
rdar://10288916 is tracking this fix. In the past, instcombine and other passes were promoting alloca alignment past the natural alignment, resulting in dynamic stack realignment. Lang's work now prevents this from happening (LLVM commit r141599). Now that this really shouldn't happen report a fatal error rather than silently generate bad code. llvm-svn: 142028
-
Bill Wendling authored
llvm-svn: 142027
-
Eli Friedman authored
llvm-svn: 142022
-
Bill Wendling authored
llvm-svn: 142021
-
Bill Wendling authored
The callee-saved registers cannot be live across an invoke call because the control flow may continue along the exceptional edge. When this happens, all of the callee-saved registers are no longer valid. llvm-svn: 142018
-
Chris Lattner authored
llvm-svn: 142013
-
Tanya Lattner authored
llvm-svn: 142010
-
- Oct 14, 2011
-
-
Richard Trieu authored
assert("bad SymbolicOp.VariantKind"); To: assert(0 && "bad SymbolicOp.VariantKind"); llvm-svn: 142000
-
Torok Edwin authored
llvm-svn: 141990
-
Torok Edwin authored
llvm-svn: 141989
-
Evan Cheng authored
llvm-svn: 141988
-
Owen Anderson authored
Disable code/data region symbols on ELF targets, where different mapping symbols are used for ARM/Thumb mode code. This should only be re-enabled once we have a solution to properly distinguish these. llvm-svn: 141984
-
Hal Finkel authored
llvm-svn: 141981
-
Akira Hatanaka authored
llvm-svn: 141978
-
Hal Finkel authored
llvm-svn: 141972
-
Jakob Stoklund Olesen authored
Fixes PR10814. Patch by Jan Sjödin! llvm-svn: 141960
-
Akira Hatanaka authored
llvm-svn: 141959
-
Jim Grosbach authored
Pointed out by George Russell. llvm-svn: 141956
-
Nick Lewycky authored
could be arguments, for example. No testcase because this is a bug-fix broken out of a larger optimization patch. llvm-svn: 141951
-
Craig Topper authored
llvm-svn: 141947
-
Craig Topper authored
Add X86 TZCNT instruction and patterns to select it. Also added core-avx2 processor which is gcc's name for Haswell. llvm-svn: 141939
-
Akira Hatanaka authored
Patch by Jack Carter and Reed Kotler at Mips. llvm-svn: 141938
-
Akira Hatanaka authored
Patch by Jack Carter and Reed Kotler at Mips. llvm-svn: 141937
-
Akira Hatanaka authored
Patch by Jack Carter and Reed Kotler at Mips. llvm-svn: 141936
-