- Jan 26, 2012
-
-
Eric Christopher authored
Patch by Liang Wang! llvm-svn: 149085
-
Chris Lattner authored
we're at it, allow PatternMatch's "neg" pattern to match integer vector negations, and enhance ComputeNumSigned bits to handle shl of vectors. llvm-svn: 149082
-
Chris Lattner authored
llvm-svn: 149078
-
Chris Lattner authored
llvm-svn: 149077
-
Chris Lattner authored
ConstantExpr::getWithOperandReplaced and ConstantExpr::replaceUsesOfWithOnConstant in terms of ConstantExpr::getWithOperands. While we're at it, make sure that ConstantExpr::getWithOperands covers all instructions: it was missing insert/extractvalue. llvm-svn: 149076
-
Chad Rosier authored
llvm-svn: 149075
-
Chad Rosier authored
MachineBasicBlock::canFallThrough(). We're interested in the state of the instruction (i.e., is this a barrier or not?), not if the instruction is predicable or not. rdar://10501092 llvm-svn: 149070
-
Jakob Stoklund Olesen authored
The live range of the source register may be extended when a redundant copy is eliminated. Make sure any kill flags between the two copies are cleared. This fixes PR11765. llvm-svn: 149069
-
Jim Grosbach authored
llvm-svn: 149062
-
Gabor Greif authored
llvm-svn: 149060
-
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
-
Peter Collingbourne authored
mode does not form part of the path. llvm-svn: 149010
-
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
-
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
-