- Apr 09, 2007
-
-
Devang Patel authored
llvm-svn: 35825
-
Reid Spencer authored
* Add ParamAttrs to InvokeInst class too. * Make sure all initializes of ParamAttrs in CallInst and InvokeInst are 0 * Destruct the ParamAttrs in Call/Invoke destructors to avoid memory leaks. This will change when ParamAttrsList is uniquified but needs to be correct until then. llvm-svn: 35824
-
Reid Spencer authored
llvm-svn: 35823
-
Devang Patel authored
llvm-svn: 35822
-
Devang Patel authored
Handle Argument or Undef as an incoming PHI value. llvm-svn: 35821
-
Devang Patel authored
llvm-svn: 35820
-
Devang Patel authored
llvm-svn: 35819
-
Reid Spencer authored
* Add ParamAttrList pointers to Function and CallInst. * Move the implementation of ParamAttrList from Type.cpp to Function.cpp llvm-svn: 35818
-
Jeff Cohen authored
llvm-svn: 35817
-
Anton Korobeynikov authored
1. Fix some bugs in the jump table lowering threshold 2. Implement much better metric for optimal pivot selection 3. Tune thresholds for different lowering methods 4. Implement shift-and trick for lowering small (<machine word length) cases with few destinations. Good testcase will follow. llvm-svn: 35816
-
Chris Lattner authored
llvm-svn: 35815
-
Reid Spencer authored
Adapt handling of parameter attributes to use the new ParamAttrsList class. llvm-svn: 35814
-
Reid Spencer authored
llvm-svn: 35813
-
Reid Spencer authored
Adapt handling of parameter attributes to use ParamAttrsList class. llvm-svn: 35812
-
Reid Spencer authored
Use ParamAttrsList for writing parameter attributes. Since they are sparse now, we also write them sparsely (saves a few bytes). Unfortunately, this is a bytecode file format change. llvm-svn: 35811
-
Reid Spencer authored
Simplify construction of FunctionType to use default arguments. llvm-svn: 35810
-
Reid Spencer authored
Parameter attributes can now be defaulted for intrinsics. llvm-svn: 35809
-
Reid Spencer authored
Adjust writing of parameter attributes to use ParamAttrList class. llvm-svn: 35808
-
Chris Lattner authored
llvm-svn: 35807
-
Reid Spencer authored
Move parameter attributes functionality to ParamAttrsList class. llvm-svn: 35806
-
Reid Spencer authored
Remove the handling of ParameterAttributes from FunctionType as they are their own object defined in ParameterAttributes.h now. llvm-svn: 35805
-
Chris Lattner authored
getRegClassForInlineAsmConstraint to being handled by getRegForInlineAsmConstraint. This allows us to let the llvm register allocator allocate, which gives us better code. For example, X86/2007-01-29-InlineAsm-ir.ll used to compile to: _run_init_process: subl $4, %esp movl %ebx, (%esp) xorl %ebx, %ebx movl $11, %eax movl %ebx, %ecx movl %ebx, %edx # InlineAsm Start push %ebx ; movl %ebx,%ebx ; int $0x80 ; pop %ebx # InlineAsm End Now we get: _run_init_process: xorl %ecx, %ecx movl $11, %eax movl %ecx, %edx # InlineAsm Start push %ebx ; movl %ecx,%ebx ; int $0x80 ; pop %ebx # InlineAsm End llvm-svn: 35804
-
Chris Lattner authored
used with x constraints. llvm-svn: 35803
-
Chris Lattner authored
llvm-svn: 35802
-
Chris Lattner authored
llvm-svn: 35801
-
Chris Lattner authored
llvm-svn: 35800
-
Chris Lattner authored
llvm-svn: 35799
-
Chris Lattner authored
llvm-svn: 35798
-
Owen Anderson authored
llvm-svn: 35797
-
Chris Lattner authored
of an allocation instruction when writing to bytecode. llvm-svn: 35796
-
Reid Spencer authored
llvm-svn: 35795
-
Reid Spencer authored
llvm-svn: 35794
-
Reid Spencer authored
small. Since it doesn't cost much to have 2 more (8 bytes), but not having them would require a malloc as soon as the third one is needed. Setting the default to 4 delays the malloc until the 5th parameter attribute. llvm-svn: 35793
-
Chris Lattner authored
llvm-svn: 35792
-
Chris Lattner authored
llvm-svn: 35791
-
Reid Spencer authored
llvm-svn: 35790
-
Chris Lattner authored
instructions which replace themselves when FI's are rewritten (common on ppc). This fixes CodeGen/PowerPC/2006-10-17-ppc64-alloca.ll llvm-svn: 35789
-
Chris Lattner authored
Transforms/InstCombine/vec_insertelt.ll and fixes PR1286. We now compile the code from that bug into: _foo: movl 4(%esp), %eax movdqa (%eax), %xmm0 movl 8(%esp), %ecx psllw (%ecx), %xmm0 movdqa %xmm0, (%eax) ret instead of: _foo: subl $4, %esp movl %ebp, (%esp) movl %esp, %ebp movl 12(%ebp), %eax movdqa (%eax), %xmm0 #IMPLICIT_DEF %eax pinsrw $2, %eax, %xmm0 xorl %ecx, %ecx pinsrw $3, %ecx, %xmm0 pinsrw $4, %eax, %xmm0 pinsrw $5, %ecx, %xmm0 pinsrw $6, %eax, %xmm0 pinsrw $7, %ecx, %xmm0 movl 8(%ebp), %eax movdqa (%eax), %xmm1 psllw %xmm0, %xmm1 movdqa %xmm1, (%eax) movl %ebp, %esp popl %ebp ret woo :) llvm-svn: 35788
-
Chris Lattner authored
llvm-svn: 35787
-
Owen Anderson authored
isReachableFromEntry test to ETForest to factor a common test out of code. llvm-svn: 35786
-