- Feb 27, 2008
-
-
Gabor Greif authored
llvm-svn: 47671
-
Duncan Sands authored
operand of a VECTOR_SHUFFLE. The mask is a vector of constant integers. The code in LegalizeDAG doesn't bother to legalize the mask, since it's basically just storage for a bunch of constants, however LegalizeTypes is more picky. The problem is that there may not exist any legal vector-of-integers type with a legal element type, so it is impossible to create a legal mask! Unless of course you cheat by creating a BUILD_VECTOR where the operands have a different type to the element type of the vector being built... This is pretty ugly but works - all relevant tests in the testsuite pass, and produce the same assembler with and without LegalizeTypes. llvm-svn: 47670
-
Duncan Sands authored
llvm-svn: 47669
-
Evan Cheng authored
Don't track max alignment during stack object allocations since they can be deleted later. Let PEI compute it. llvm-svn: 47668
-
Duncan Sands authored
llvm-svn: 47667
-
Ted Kremenek authored
successor of blocks created above it. llvm-svn: 47666
-
Ted Kremenek authored
In such cases, handle them just like Visit(). llvm-svn: 47665
-
Ted Kremenek authored
globals/parameters at the beginning of the analysis. llvm-svn: 47664
-
Bill Wendling authored
llvm-svn: 47663
-
Chris Lattner authored
llvm-svn: 47662
-
Ted Kremenek authored
llvm-svn: 47661
-
Chris Lattner authored
stack slot and store if the SINT_TO_FP is actually legal. This allows us to compile: double a(double b) {return (unsigned)b;} to: _a: cvttsd2siq %xmm0, %rax movl %eax, %eax cvtsi2sdq %rax, %xmm0 ret instead of: _a: subq $8, %rsp cvttsd2siq %xmm0, %rax movl %eax, %eax cvtsi2sdq %rax, %xmm0 addq $8, %rsp ret crazy. llvm-svn: 47660
-
Chris Lattner authored
llvm-svn: 47659
-
Chris Lattner authored
_test: movl %edi, %eax ret instead of: _test: movl $4294967295, %ecx movq %rdi, %rax andq %rcx, %rax ret It would be great to write this as a Pat pattern that used subregs instead of a 'pseudo' instruction, but I don't know how to do that in td files. llvm-svn: 47658
-
Evan Cheng authored
llvm-svn: 47657
-
Dan Gohman authored
llvm-svn: 47656
-
Dan Gohman authored
ComputeMaskedBits to use the APInt form, and remove the non-APInt form. llvm-svn: 47654
-
Devang Patel authored
llvm-svn: 47653
-
Chris Lattner authored
llvm-svn: 47652
-
Ted Kremenek authored
ExplodedNode for the Callee subexpression we would not evaluate the CallExpr transfer function. llvm-svn: 47651
-
Ted Kremenek authored
sometimes skip evaluating all the arguments when some arguments would not create new ExplodedNodes. llvm-svn: 47650
-
Ted Kremenek authored
multiple basic blocks (which can happen when they contain '&&', '||', '?'). The bug was that the loop backedge when to the last block in the loop condition, not the first. llvm-svn: 47649
-
Dan Gohman authored
Change several cases in SimplifyDemandedMask that don't ever do any simplifying to reuse the logic in ComputeMaskedBits instead of duplicating it. llvm-svn: 47648
-
Chris Lattner authored
llvm-svn: 47646
-
Ted Kremenek authored
Fix bug when processing '?' operator: invalidate the old "Uninitialized" value of the block-level expression for ?. llvm-svn: 47645
-
Bill Wendling authored
llvm-svn: 47644
-
Devang Patel authored
llvm-svn: 47642
-
Devang Patel authored
llvm-svn: 47641
-
Owen Anderson authored
llvm-svn: 47640
-
Owen Anderson authored
in an invalid transformation. llvm-svn: 47639
-
Ted Kremenek authored
GRSimpleVals performs the following action: invalidate all values passed-by-reference. llvm-svn: 47638
-
- Feb 26, 2008
-
-
Devang Patel authored
llvm-svn: 47637
-
Ted Kremenek authored
uninitialized) value. At this point we're just too imprecise. llvm-svn: 47636
-
Arnold Schwaighofer authored
llvm-svn: 47635
-
Devang Patel authored
llvm-svn: 47634
-
Devang Patel authored
llvm-svn: 47633
-
Chris Lattner authored
instead of init'ing it maximally to zeros on entry. getFreePhysReg is pretty hot and only a few elements are typically used. This speeds up linscan by 5% on 176.gcc. llvm-svn: 47631
-
Ted Kremenek authored
Before it was the negation of hasAutoStorage(), which is incorrect. "Register" storage for Decls do not indicate global variables. llvm-svn: 47630
-
Bill Wendling authored
llvm-svn: 47629
-
Anton Korobeynikov authored
llvm-svn: 47628
-