- Jan 25, 2012
-
-
Lang Hames authored
Always break upon finding a vreg operand (in Release as well as +Asserts). Remove assertion which can no longer trigger. llvm-svn: 148984
-
Jim Grosbach authored
"Although a Thumb2 instruction, the IT mnemonic shall be permitted in ARM mode, and the condition verified to match the condition code(s) on the following instruction(s)." PR11853 llvm-svn: 148969
-
Nick Lewycky authored
llvm-svn: 148964
-
Chris Lattner authored
Thanks to Eli for noticing. llvm-svn: 148947
-
Nick Lewycky authored
llvm-svn: 148946
-
Nick Lewycky authored
savings from a pointer argument becoming an alloca. Sometimes callees will even compare a pointer to null and then branch to an otherwise unreachable block! Detect these cases and compute the number of saved instructions, instead of bailing out and reporting no savings. llvm-svn: 148941
-
Chandler Carruth authored
to 64-bits, and added a new attribute in bit #32. Specifically, remove this new attribute from the enum used in the C API. It's not yet clear what the best approach is for exposing these new attributes in the C API, and several different proposals are on the table. Until then, we can simply not expose this bit in the API at all. Also, I've reverted a somewhat unrelated change in the same revision which switched from "1 << 31" to "1U << 31" for the top enum. While "1 << 31" is technically undefined behavior, implementations DTRT here. However, MS and -pedantic mode warn about non-'int' type enumerator values. If folks feel strongly about this I can put the 'U' back in, but it seemed best to wait for the proper solution. llvm-svn: 148937
-
Evan Cheng authored
llvm-svn: 148936
-
Chris Lattner authored
llvm-svn: 148934
-
Craig Topper authored
Custom lower PSIGN and PSHUFB intrinsics to their corresponding target specific nodes so we can remove the isel patterns. llvm-svn: 148933
-
Chris Lattner authored
helper method for the common operation of extracting an element out of a constant aggregate. llvm-svn: 148931
-
Chris Lattner authored
llvm-svn: 148929
-
Craig Topper authored
Custom lower phadd and phsub intrinsics to target specific nodes. Remove the patterns that are no longer necessary. llvm-svn: 148927
-
Chris Lattner authored
"Introduce a new ConstantVector::getSplat constructor function to simplify a really common case." llvm-svn: 148924
-
Craig Topper authored
llvm-svn: 148922
-
Akira Hatanaka authored
llvm-svn: 148918
-
Akira Hatanaka authored
- Use MipsAnalyzeImmediate to expand immediates that do not fit in 16-bit. - Change the types of variables so that they are sufficiently large to handle 64-bit pointers. - Emit instructions to set register $28 in a function prologue after instructions which store callee-saved registers have been emitted. llvm-svn: 148917
-
Akira Hatanaka authored
expand offsets that do not fit in the 16-bit immediate field of load and store instructions. Also change the types of variables so that they are sufficiently large to handle 64-bit pointers. llvm-svn: 148916
-
Craig Topper authored
Merge intrinsic pattern and no pattern versions of VCVTSD2SI intruction definitions. Matches non-AVX version of same instructions. llvm-svn: 148914
-
Rafael Espindola authored
Thanks to Peter Collingbourne for noticing it. llvm-svn: 148913
-
NAKAMURA Takumi authored
inttypes.h is not supplied in msvc. llvm-svn: 148912
-
Nick Lewycky authored
in asserts. llvm-svn: 148910
-
NAKAMURA Takumi authored
llvm-svn: 148909
-
Akira Hatanaka authored
Add a test case to show fewer instructions are needed to load an immediate with the new way of loading immediates. llvm-svn: 148908
-
Argyrios Kyrtzidis authored
Original log: Introduce a new ConstantVector::getSplat constructor function to simplify a really common case. llvm-svn: 148906
-
Chris Lattner authored
simplify a really common case. llvm-svn: 148901
-
Akira Hatanaka authored
load an immediate. llvm-svn: 148900
-
Chris Lattner authored
did something extremely surprising, and shadowed actually useful implementations that had completely different behavior. llvm-svn: 148898
-
Chris Lattner authored
llvm-svn: 148897
-
Jim Grosbach authored
llvm-svn: 148884
-
Jim Grosbach authored
llvm-svn: 148883
-
Jim Grosbach authored
llvm-svn: 148882
-
Talin authored
llvm-svn: 148881
-
Jakob Stoklund Olesen authored
A REG_SEQUENCE instruction is lowered into a sequence of partial defs: %vreg7:ssub_0<def,undef> = COPY %vreg20:ssub_0 %vreg7:ssub_1<def> = COPY %vreg2 %vreg7:ssub_2<def> = COPY %vreg2 %vreg7:ssub_3<def> = COPY %vreg2 The first def needs an <undef> flag to indicate it is the beginning of the live range, while the other defs are read-modify-write. Previously, we depended on LiveIntervalAnalysis to notice and fix the missing <def,undef>, but that solution was never robust, it was causing problems with ProcessImplicitDefs and the lowering of chained REG_SEQUENCE instructions. This fixes PR11841. llvm-svn: 148879
-
Jakob Stoklund Olesen authored
llvm-svn: 148878
-
Akira Hatanaka authored
which is what N32/64 does. llvm-svn: 148875
-
- Jan 24, 2012
-
-
Akira Hatanaka authored
llvm-svn: 148871
-
Akira Hatanaka authored
llvm-svn: 148869
-
Jim Grosbach authored
When not using subsections via symbols, the assembler can resolve symbol differences (including pcrel references) to non-local labels at assembly time, not just those in the same atom. llvm-svn: 148865
-
Devang Patel authored
llvm-svn: 148864
-