aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-10-08Implement Transforms/ScalarRepl/union-pointer.ll:testChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30823 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-08new testcase for SROA for stuff like "union { int*, float* }".Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30822 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-08Eliminate more token factors by taking advantage of transitivity:Chris Lattner
if TF depends on A and B, and A depends on B, TF just needs to depend on A. With Jim's alias-analysis stuff enabled, this compiles the testcase in PR892 into: __Z4test3Val: subl $44, %esp call L__Z3foov$stub movl %edx, 28(%esp) movl %eax, 32(%esp) movl %eax, 24(%esp) movl %edx, 36(%esp) movl 52(%esp), %ecx movl %ecx, 4(%esp) movl %eax, 8(%esp) movl %edx, 12(%esp) movl 48(%esp), %eax movl %eax, (%esp) call L__Z3bar3ValS_$stub addl $44, %esp ret instead of: __Z4test3Val: subl $44, %esp call L__Z3foov$stub movl %eax, 24(%esp) movl %edx, 28(%esp) movl 24(%esp), %eax movl %eax, 32(%esp) movl 28(%esp), %eax movl %eax, 36(%esp) movl 32(%esp), %eax movl 36(%esp), %ecx movl 52(%esp), %edx movl %edx, 4(%esp) movl %eax, 8(%esp) movl %ecx, 12(%esp) movl 48(%esp), %eax movl %eax, (%esp) call L__Z3bar3ValS_$stub addl $44, %esp ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30821 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-08Fix PR897Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30820 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Combiner alias analysis passes Multisource (release-asserts.)Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30818 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07completely disable folding of loads into scalar sse instructions and provideChris Lattner
a framework for doing it right. This fixes CodeGen/X86/2006-10-07-ScalarSSEMiscompile.ll. Once X86DAGToDAGISel::SelectScalarSSELoad is implemented right, this task will be done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30817 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07new testcase we miscompileChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30816 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07convert packed FP add/sub/mul/div to use a multiclass.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30815 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07one multiclass now defines all 8 variants of binary-scalar-sse-fp operations.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30814 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Switch ADD/MUL/DIV/SUB scalarsse fp ops to a multiclassChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30813 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Random acts of shrinkageChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30812 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Convert pand/por/pxor to use multiclassChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30811 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Convert some more instructions over to use a new multiclass.Chris Lattner
Fix a bug where the asmstring for PSUBQrm was wrong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30810 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Fix a bug where PADDQrm printed paddd instead of paddq.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30809 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Add multiclass for SSE2 instructions that correspond to simple binops.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30808 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07rename:Chris Lattner
PDI_binop_rm -> PDI_binop_rm_int PDI_binop_rmi -> PDI_binop_rmi_int to make it clear that these are for use with intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30807 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Convert saturating PADD/PSUB's to use a multiclassChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30806 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Convert PAVG*, PMADDWD, and PMUL* to use multiclasses.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30805 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Fix typo in packsswb instr definition, where the load had the wrong type.Chris Lattner
This allows us to use the multiclass for other packs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30804 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07implement FUITOS and FUITODRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30803 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07implement FLDDRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30802 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07implement fadds, faddd, fmuls and fmuldRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30801 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07handle pmin/pmax with multiclassesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30800 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07regenerateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30799 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Bugfix: this allows multiclasses to have default arguments.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30798 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07simplify pack and shift intrinsics with multiclassesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30797 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Use a multiclass to simplify 'SSE2 Integer comparison'Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30796 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07move class defns close to uses to make it easier to readChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30795 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07simplify horizontal op definitionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30794 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07remove more unneeded type infoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30793 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07remove unneeded definitions and type infoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30792 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07remove some unneeded type infoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30791 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07simplify patterns by merging in operand infoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30790 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Factor operands into packed unary classesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30789 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07remove dead/duplicate instructionsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30788 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Pull operand info up into parent class for scalar sse intrinsics.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30787 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07convert the sole sd unary intrinsic to a multiclass for consistencyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30786 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07pull operand string into the multiclassChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30785 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Remove RSQRTSS[rm] RCPSS[rm], which are dead.Chris Lattner
Introduce SS_IntUnary, a multiclass to replace SS_Int[rm]. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30784 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07eliminate redundancyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30783 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07Fix a bug legalizing zero-extending i64 loads into 32-bit loads. The bottomChris Lattner
part was always forced to be sextload, even when we needed an zextload. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30782 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06Set the jt sectionChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30781 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06initialize ivarChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30780 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06If a target uses a GOT, put it in the jt data section, not the textChris Lattner
section. This will fix alpha when Andrew implements AlphaTargetMachine::getTargetLowering(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30779 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06Alpha uses a gotChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30778 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06Add support for targets to declare that they use a GOTChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30777 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06jump tables handle picChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30776 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06print labels even if a MBB doesn't have a corresponding LLVM BB, just don'tChris Lattner
print the LLVM BB label. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30775 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06add optional input flag to FMRRDRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30774 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06add support for calling functions that return doubleRafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30771 91177308-0d34-0410-b5e6-96231b3b80d8