- Jan 26, 2012
-
-
Jim Grosbach authored
llvm-svn: 149062
-
James Molloy authored
Add support for the R_ARM_TARGET1 relocation, which should be given to relocations applied to all C++ constructors and destructors. This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against. llvm-svn: 149057
-
Victor Umansky authored
. "fptosi" and "fptoui" IR instructions are defined with round-to-zero rounding mode. . Currently for AVX mode for <4xdouble> and <8xdouble> the "VCVTPD2DQ.128" and "VCVTPD2DQ.256" instructions are selected (for .fp_to_sint. DAG node operation ) by AVX codegen. However they use round-to-nearest-even rounding mode. . Consequently, the conversion produces incorrect numbers. The fix is to replace selection of VCVTPD2DQ instructions with VCVTTPD2DQ instructions. The latter use truncate (i.e. round-to-zero) rounding mode. As .fp_to_sint. DAG node operation is used only for lowering of "fptosi" and "fptoui" IR instructions, the fix in X86InstrSSE.td definition file doesn.t have an impact on other LLVM flows. The patch includes changes in the .td file, LIT test for the changes and a fix in a legacy LIT test (which produced asm code conflicting with LLVN IR spec). llvm-svn: 149056
-
Craig Topper authored
llvm-svn: 149054
-
Craig Topper authored
llvm-svn: 149053
-
Craig Topper authored
llvm-svn: 149052
-
Chris Lattner authored
llvm-svn: 149033
-
Chris Lattner authored
llvm-svn: 149029
-
Chris Lattner authored
more robust) ways to do what it was doing now. Also, add static methods for decoding a ShuffleVector mask. llvm-svn: 149028
-
Chris Lattner authored
new methods recently added to (sometimes greatly!) simplify code. llvm-svn: 149024
-
Chris Lattner authored
ConstantVector. Fix some outright bugs in the implementation of ConstantArray and Constant struct, which would cause us to not make one big UndefValue when asking for an array/struct with all undef elements. Enhance Constant::isAllOnesValue to work with ConstantDataVector. llvm-svn: 149021
-
Chris Lattner authored
llvm-svn: 149006
-
Chris Lattner authored
llvm-svn: 149005
-
Chris Lattner authored
llvm-svn: 149000
-
Chris Lattner authored
to reduce the number of cast<>'s we have. This allows someone to use things like Ty->getVectorNumElements() instead of cast<VectorType>(Ty)->getNumElements() when you know that a type is a vector. It would be a great general cleanup to move the codebase to use these, I will do so in the code I'm touching. llvm-svn: 148999
-
Chris Lattner authored
"isValidOperands" and "getMaskValue" methods to allow ConstantDataSequential. llvm-svn: 148998
-
Jakob Stoklund Olesen authored
This boils down to using MachineOperand::readsReg() more. This fixes PR11829 where a use ended up after the first def when lowering REG_SEQUENCE instructions involving IMPLICIT_DEFs. llvm-svn: 148996
-
- Jan 25, 2012
-
-
Anton Korobeynikov authored
and let linker handle the rest. This finally fixes PR5329 llvm-svn: 148990
-
Lang Hames authored
function. They don't appear to be used, and are inconsistent with handling of other physreg intervals (i.e. intervals that are not live-in) where ranges are not inserted for aliases. llvm-svn: 148986
-
Jim Grosbach authored
LLVM isn't an acronym anymore. llvm-svn: 148985
-
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
-
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
-
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
-