oota-llvm.git
17 years agoNo longer needed.
Jeff Cohen [Mon, 9 Apr 2007 23:42:32 +0000 (23:42 +0000)]
No longer needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35850 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd check for opt crash.
Devang Patel [Mon, 9 Apr 2007 23:40:15 +0000 (23:40 +0000)]
Add check for opt crash.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35849 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRe-constify things that don't break the build. Last patch in this
Owen Anderson [Mon, 9 Apr 2007 23:38:18 +0000 (23:38 +0000)]
Re-constify things that don't break the build.  Last patch in this
series, I promise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35848 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove dead target hooks.
Chris Lattner [Mon, 9 Apr 2007 23:34:08 +0000 (23:34 +0000)]
remove dead target hooks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35847 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove dead target hooks
Chris Lattner [Mon, 9 Apr 2007 23:33:39 +0000 (23:33 +0000)]
remove dead target hooks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35846 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove some dead hooks
Chris Lattner [Mon, 9 Apr 2007 23:31:19 +0000 (23:31 +0000)]
remove some dead hooks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35845 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoeliminate the last uses of some TLI methods.
Chris Lattner [Mon, 9 Apr 2007 23:29:07 +0000 (23:29 +0000)]
eliminate the last uses of some TLI methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35844 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUnconst-ify stuff that broke the build.
Owen Anderson [Mon, 9 Apr 2007 23:08:26 +0000 (23:08 +0000)]
Unconst-ify stuff that broke the build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35843 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoConst-ify some parameters, and some cosmetic cleanups. No functionality
Owen Anderson [Mon, 9 Apr 2007 22:54:50 +0000 (22:54 +0000)]
Const-ify some parameters, and some cosmetic cleanups.  No functionality
change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35842 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTabs -> Spaces
Owen Anderson [Mon, 9 Apr 2007 22:31:43 +0000 (22:31 +0000)]
Tabs -> Spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35841 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove some dead target hooks, subsumed by isLegalAddressingMode
Chris Lattner [Mon, 9 Apr 2007 22:27:04 +0000 (22:27 +0000)]
remove some dead target hooks, subsumed by isLegalAddressingMode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35840 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImprove some _slow_ behavior introduced in my patches the last few days.
Owen Anderson [Mon, 9 Apr 2007 22:25:09 +0000 (22:25 +0000)]
Improve some _slow_ behavior introduced in my patches the last few days.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35839 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd Loop Rotate test cases.
Devang Patel [Mon, 9 Apr 2007 22:22:42 +0000 (22:22 +0000)]
Add Loop Rotate test cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35838 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoswitch LSR to use isLegalAddressingMode instead of other simpler hooks
Chris Lattner [Mon, 9 Apr 2007 22:20:14 +0000 (22:20 +0000)]
switch LSR to use isLegalAddressingMode instead of other simpler hooks

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35837 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCheck _all_ PHINodes.
Devang Patel [Mon, 9 Apr 2007 22:20:10 +0000 (22:20 +0000)]
Check _all_ PHINodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35836 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a bug in PPCTargetLowering::isLegalAddressingMode, scales other than 0/1/2
Chris Lattner [Mon, 9 Apr 2007 22:10:05 +0000 (22:10 +0000)]
Fix a bug in PPCTargetLowering::isLegalAddressingMode, scales other than 0/1/2
are always unsupported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35835 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse integer log for metric calculation
Anton Korobeynikov [Mon, 9 Apr 2007 21:57:03 +0000 (21:57 +0000)]
Use integer log for metric calculation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35834 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoInsert new pre-header before new header. Original pre-header may
Devang Patel [Mon, 9 Apr 2007 21:40:43 +0000 (21:40 +0000)]
Insert new pre-header before new header. Original pre-header may
happen to be an entry, in such case, it is not a good idea to
insert new block before entry.

Also fix typo in assertion check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35833 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd a default ctor for AddrMode.
Chris Lattner [Mon, 9 Apr 2007 21:18:34 +0000 (21:18 +0000)]
add a default ctor for AddrMode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35832 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a bug where calling materializeModule could corrupt the module, reading
Chris Lattner [Mon, 9 Apr 2007 20:28:40 +0000 (20:28 +0000)]
Fix a bug where calling materializeModule could corrupt the module, reading
multiple copies of the function into the Function*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35831 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPreserve canonical loop form.
Devang Patel [Mon, 9 Apr 2007 20:19:46 +0000 (20:19 +0000)]
Preserve canonical loop form.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35829 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoWhen the number of elements is zero, don't malloc 32GB on 64-bit systems.
Jeff Cohen [Mon, 9 Apr 2007 19:26:30 +0000 (19:26 +0000)]
When the number of elements is zero, don't malloc 32GB on 64-bit systems.

Fixes unexpected failures on FreeBSD/amd64 of:
  CFrontend/2005-09-24-BitFieldCrash.c:
  CFrontend/2007-02-04-EmptyStruct.c:
  CFrontend/2007-03-26-ZeroWidthBitfield.c:
  CodeGen/Generic/2005-10-18-ZeroSizeStackObject.ll:

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35828 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't link against System or Support library. These things will already
Reid Spencer [Mon, 9 Apr 2007 19:17:47 +0000 (19:17 +0000)]
Don't link against System or Support library. These things will already
be in the opt tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35827 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSpeed up installation a bit by ignoring .svn directories.
Reid Spencer [Mon, 9 Apr 2007 19:08:58 +0000 (19:08 +0000)]
Speed up installation a bit by ignoring .svn directories.

Patch by Scott Michel.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35826 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDo not create new pre-header. Reuse original pre-header.
Devang Patel [Mon, 9 Apr 2007 19:04:21 +0000 (19:04 +0000)]
Do not create new pre-header. Reuse original pre-header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35825 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 18:00:57 +0000 (18:00 +0000)]
For PR1146:
* 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35824 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove a memory leak, until ParamAttrsList is uniqued.
Reid Spencer [Mon, 9 Apr 2007 17:20:18 +0000 (17:20 +0000)]
Remove a memory leak, until ParamAttrsList is uniqued.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35823 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSimpler for() loops.
Devang Patel [Mon, 9 Apr 2007 17:09:13 +0000 (17:09 +0000)]
Simpler for() loops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35822 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix future bug. Of course, Chris spotted this.
Devang Patel [Mon, 9 Apr 2007 16:41:46 +0000 (16:41 +0000)]
Fix future bug. Of course, Chris spotted this.
Handle Argument or Undef as an incoming PHI value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35821 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMore cosmetic changes.
Devang Patel [Mon, 9 Apr 2007 16:21:29 +0000 (16:21 +0000)]
More cosmetic changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35820 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoOnly cosmetic changes. Zero functionality Change.
Devang Patel [Mon, 9 Apr 2007 16:11:48 +0000 (16:11 +0000)]
Only cosmetic changes. Zero functionality Change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35819 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 15:01:12 +0000 (15:01 +0000)]
For PR1146:
* Add ParamAttrList pointers to Function and CallInst.
* Move the implementation of ParamAttrList from Type.cpp to Function.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35818 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUnbreak VC++ build.
Jeff Cohen [Mon, 9 Apr 2007 14:32:59 +0000 (14:32 +0000)]
Unbreak VC++ build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35817 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNext stage into switch lowering refactoring
Anton Korobeynikov [Mon, 9 Apr 2007 12:31:58 +0000 (12:31 +0000)]
Next stage into switch lowering refactoring
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35816 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoConvert ImmediateDominators::DFSPass from being recursive to being iterative.
Chris Lattner [Mon, 9 Apr 2007 06:44:42 +0000 (06:44 +0000)]
Convert ImmediateDominators::DFSPass from being recursive to being iterative.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35815 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 06:17:21 +0000 (06:17 +0000)]
For PR1146:
Adapt handling of parameter attributes to use the new ParamAttrsList class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35814 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegenerate
Reid Spencer [Mon, 9 Apr 2007 06:16:21 +0000 (06:16 +0000)]
Regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35813 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 06:15:59 +0000 (06:15 +0000)]
For PR1146:
Adapt handling of parameter attributes to use ParamAttrsList class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35812 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 06:14:31 +0000 (06:14 +0000)]
For PR1146:
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35811 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 06:12:07 +0000 (06:12 +0000)]
For PR1146:
Simplify construction of FunctionType to use default arguments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35810 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 06:11:23 +0000 (06:11 +0000)]
For PR1146:
Parameter attributes can now be defaulted for intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35809 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 06:10:42 +0000 (06:10 +0000)]
For PR1146:
Adjust writing of parameter attributes to use ParamAttrList class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35808 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agominor cleanups
Chris Lattner [Mon, 9 Apr 2007 06:10:06 +0000 (06:10 +0000)]
minor cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35807 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 06:07:52 +0000 (06:07 +0000)]
For PR1146:
Move parameter attributes functionality to ParamAttrsList class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35806 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Mon, 9 Apr 2007 06:06:57 +0000 (06:06 +0000)]
For PR1146:
Remove the handling of ParameterAttributes from FunctionType as they are
their own object defined in ParameterAttributes.h now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35805 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agomove a bunch of register constraints from being handled by
Chris Lattner [Mon, 9 Apr 2007 05:49:22 +0000 (05:49 +0000)]
move a bunch of register constraints from being handled by
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35804 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoimplement support for CodeGen/X86/inline-asm-x-scalar.ll:test3 - i32/i64 values
Chris Lattner [Mon, 9 Apr 2007 05:31:48 +0000 (05:31 +0000)]
implement support for CodeGen/X86/inline-asm-x-scalar.ll:test3 - i32/i64 values
used with x constraints.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35803 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoimplement CodeGen/X86/inline-asm-x-scalar.ll:test3
Chris Lattner [Mon, 9 Apr 2007 05:31:20 +0000 (05:31 +0000)]
implement CodeGen/X86/inline-asm-x-scalar.ll:test3

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35802 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd another test
Chris Lattner [Mon, 9 Apr 2007 05:26:48 +0000 (05:26 +0000)]
add another test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35801 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd some assertions
Chris Lattner [Mon, 9 Apr 2007 05:23:13 +0000 (05:23 +0000)]
add some assertions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35800 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoimplement CodeGen/X86/inline-asm-x-scalar.ll
Chris Lattner [Mon, 9 Apr 2007 05:11:28 +0000 (05:11 +0000)]
implement CodeGen/X86/inline-asm-x-scalar.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35799 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThe x constraint allows scalar FP values as well as vectors.
Chris Lattner [Mon, 9 Apr 2007 05:11:03 +0000 (05:11 +0000)]
The x constraint allows scalar FP values as well as vectors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35798 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMove isReachableFromEntry out of line to avoid an unnecessary #include
Owen Anderson [Mon, 9 Apr 2007 04:07:36 +0000 (04:07 +0000)]
Move isReachableFromEntry out of line to avoid an unnecessary #include

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35797 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a bug that caused alignment information to occasionally get stripped off
Chris Lattner [Mon, 9 Apr 2007 03:37:36 +0000 (03:37 +0000)]
Fix a bug that caused alignment information to occasionally get stripped off
of an allocation instruction when writing to bytecode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35796 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRegenerate
Reid Spencer [Mon, 9 Apr 2007 01:56:05 +0000 (01:56 +0000)]
Regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35795 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDrop the implementation keyword.
Reid Spencer [Mon, 9 Apr 2007 01:55:42 +0000 (01:55 +0000)]
Drop the implementation keyword.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35794 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoChris convinced me that the default size of the SmallVector (2) was too
Reid Spencer [Mon, 9 Apr 2007 01:53:54 +0000 (01:53 +0000)]
Chris convinced me that the default size of the SmallVector (2) was too
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35793 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix PR1304 and Transforms/InstCombine/2007-04-08-SingleEltVectorCrash.ll
Chris Lattner [Mon, 9 Apr 2007 01:37:55 +0000 (01:37 +0000)]
Fix PR1304 and Transforms/InstCombine/2007-04-08-SingleEltVectorCrash.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35792 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase for PR1304
Chris Lattner [Mon, 9 Apr 2007 01:37:35 +0000 (01:37 +0000)]
new testcase for PR1304

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35791 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove redundancy.
Reid Spencer [Mon, 9 Apr 2007 01:26:02 +0000 (01:26 +0000)]
Remove redundancy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35790 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a bug introduced with my previous patch, where it didn't correctly handle
Chris Lattner [Mon, 9 Apr 2007 01:19:33 +0000 (01:19 +0000)]
Fix a bug introduced with my previous patch, where it didn't correctly handle
instructions which replace themselves when FI's are rewritten (common on ppc).
This fixes CodeGen/PowerPC/2006-10-17-ppc64-alloca.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35789 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoEliminate useless insertelement instructions. This implements
Chris Lattner [Mon, 9 Apr 2007 01:11:16 +0000 (01:11 +0000)]
Eliminate useless insertelement instructions.  This implements
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 :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35788 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase for PR1286
Chris Lattner [Mon, 9 Apr 2007 01:10:13 +0000 (01:10 +0000)]
new testcase for PR1286

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35787 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoCleanup some from my DomSet-removal changes. Add a new
Owen Anderson [Mon, 9 Apr 2007 00:52:49 +0000 (00:52 +0000)]
Cleanup some from my DomSet-removal changes.  Add a new
isReachableFromEntry
test to ETForest to factor a common test out of code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35786 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix CodeGen/Generic/2007-04-08-MultipleFrameIndices.ll and PR1308:
Chris Lattner [Mon, 9 Apr 2007 00:46:10 +0000 (00:46 +0000)]
Fix CodeGen/Generic/2007-04-08-MultipleFrameIndices.ll and PR1308:
some instructions can have multiple frame indices in them.  If this happens,
rewrite all of them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35785 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase for PR1308
Chris Lattner [Mon, 9 Apr 2007 00:45:42 +0000 (00:45 +0000)]
new testcase for PR1308

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35784 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix PR1316
Chris Lattner [Mon, 9 Apr 2007 00:33:58 +0000 (00:33 +0000)]
Fix PR1316

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35783 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoNo functional change, this is just easier to read and debug.
Reid Spencer [Sun, 8 Apr 2007 23:58:41 +0000 (23:58 +0000)]
No functional change, this is just easier to read and debug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35782 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a typo.
Reid Spencer [Sun, 8 Apr 2007 22:50:29 +0000 (22:50 +0000)]
Fix a typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35781 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImplement more feedback:
Reid Spencer [Sun, 8 Apr 2007 22:30:27 +0000 (22:30 +0000)]
Implement more feedback:
* Allow attributes to be added and removed singly or jointly so that in
  the future something like -pruneh can manipulate them more easily.
* Move functions generally only useful for LLVM internals to the end of
  the accessors list instead of the beginning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35780 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix for CodeGen/X86/2007-04-08-InlineAsmCrash.ll and PR1314
Chris Lattner [Sun, 8 Apr 2007 22:23:26 +0000 (22:23 +0000)]
Fix for CodeGen/X86/2007-04-08-InlineAsmCrash.ll and PR1314

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35779 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agotestcase for PR1314
Chris Lattner [Sun, 8 Apr 2007 22:22:53 +0000 (22:22 +0000)]
testcase for PR1314

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35778 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImplement review feedback.
Reid Spencer [Sun, 8 Apr 2007 22:05:44 +0000 (22:05 +0000)]
Implement review feedback.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35777 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix this testcase to fail if the bug were reintroduced.
Nick Lewycky [Sun, 8 Apr 2007 21:49:13 +0000 (21:49 +0000)]
Fix this testcase to fail if the bug were reintroduced.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35776 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove DomSet completely. This concludes work on PR1171.
Owen Anderson [Sun, 8 Apr 2007 21:30:05 +0000 (21:30 +0000)]
Remove DomSet completely.  This concludes work on PR1171.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35775 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTrack new header file.
Jeff Cohen [Sun, 8 Apr 2007 21:19:52 +0000 (21:19 +0000)]
Track new header file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35774 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake sure temporary data is not used past its life span.
Reid Spencer [Sun, 8 Apr 2007 20:10:14 +0000 (20:10 +0000)]
Make sure temporary data is not used past its life span.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35773 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake TempDir a PathWithStatus so we don't have to cast it to one.
Reid Spencer [Sun, 8 Apr 2007 20:08:01 +0000 (20:08 +0000)]
Make TempDir a PathWithStatus so we don't have to cast it to one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35772 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAvoid temporary construction and potential for corrupted data access.
Reid Spencer [Sun, 8 Apr 2007 20:06:05 +0000 (20:06 +0000)]
Avoid temporary construction and potential for corrupted data access.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35771 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImplement the output inserter for PathWithStatus
Reid Spencer [Sun, 8 Apr 2007 20:05:10 +0000 (20:05 +0000)]
Implement the output inserter for PathWithStatus

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35770 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't rely on destructed local storage. Thanks, Chris.
Reid Spencer [Sun, 8 Apr 2007 19:59:07 +0000 (19:59 +0000)]
Don't rely on destructed local storage. Thanks, Chris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35769 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a typo that broke SimplifyLibCalls/SPrintF.ll (pr1315)
Chris Lattner [Sun, 8 Apr 2007 18:11:26 +0000 (18:11 +0000)]
Fix a typo that broke SimplifyLibCalls/SPrintF.ll (pr1315)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35768 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFor PR1146:
Reid Spencer [Sun, 8 Apr 2007 14:46:50 +0000 (14:46 +0000)]
For PR1146:
New header file to provide parameter attribute declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35767 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agothis xform is correct, not an xfail
Chris Lattner [Sun, 8 Apr 2007 08:02:39 +0000 (08:02 +0000)]
this xform is correct, not an xfail

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35766 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoreenable this xform, whoops :)
Chris Lattner [Sun, 8 Apr 2007 08:01:49 +0000 (08:01 +0000)]
reenable this xform, whoops :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35765 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agomake xfail info more nice
Chris Lattner [Sun, 8 Apr 2007 07:58:41 +0000 (07:58 +0000)]
make xfail info more nice

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35764 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix regression on Instcombine/apint-or2.ll
Chris Lattner [Sun, 8 Apr 2007 07:55:22 +0000 (07:55 +0000)]
Fix regression on Instcombine/apint-or2.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35763 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agotweak this to test the right thing.
Chris Lattner [Sun, 8 Apr 2007 07:52:40 +0000 (07:52 +0000)]
tweak this to test the right thing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35762 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agotestrunner should print out xfail info.
Chris Lattner [Sun, 8 Apr 2007 07:49:19 +0000 (07:49 +0000)]
testrunner should print out xfail info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35761 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoGeneralize the code that handles (A&B)|(A&C) to work where B/C are not constants.
Chris Lattner [Sun, 8 Apr 2007 07:47:01 +0000 (07:47 +0000)]
Generalize the code that handles (A&B)|(A&C) to work where B/C are not constants.
Add a new xform to simplify (A&B)|(~A&C).  THis implements InstCombine/or2.ll:test1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35760 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agonew testcase, should simplify down to a xor/and/xor sequence.
Chris Lattner [Sun, 8 Apr 2007 07:45:36 +0000 (07:45 +0000)]
new testcase, should simplify down to a xor/and/xor sequence.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35759 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoimplement a fixme: move optimizations for fwrite out of fputs into a new
Chris Lattner [Sun, 8 Apr 2007 07:00:35 +0000 (07:00 +0000)]
implement a fixme: move optimizations for fwrite out of fputs into a new
fwrite optimizer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35758 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove DominatorSet usage from LoopSimplify. Patch from Owen Anderson.
Nick Lewycky [Sun, 8 Apr 2007 01:04:30 +0000 (01:04 +0000)]
Remove DominatorSet usage from LoopSimplify. Patch from Owen Anderson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35757 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't crash when encountering a BasicBlock that hasn't been registered yet.
Nick Lewycky [Sun, 8 Apr 2007 01:02:12 +0000 (01:02 +0000)]
Don't crash when encountering a BasicBlock that hasn't been registered yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35756 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSignificantly simplify the clients of GetConstantStringInfo, by having it
Chris Lattner [Sat, 7 Apr 2007 21:58:02 +0000 (21:58 +0000)]
Significantly simplify the clients of GetConstantStringInfo, by having it
just return the string itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35755 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix problems in the sprintf optimizer
Chris Lattner [Sat, 7 Apr 2007 21:17:51 +0000 (21:17 +0000)]
Fix problems in the sprintf optimizer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35754 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoChange CastToCStr to take a pointer instead of a reference.
Chris Lattner [Sat, 7 Apr 2007 21:04:50 +0000 (21:04 +0000)]
Change CastToCStr to take a pointer instead of a reference.
Fix some miscompilations in fprintf optimizer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35753 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUnbreak VC++ build.
Jeff Cohen [Sat, 7 Apr 2007 20:47:27 +0000 (20:47 +0000)]
Unbreak VC++ build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35751 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agothese test a pass that no longer exists.
Chris Lattner [Sat, 7 Apr 2007 20:25:30 +0000 (20:25 +0000)]
these test a pass that no longer exists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35750 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix an off-by-one error that broke Prolangs/deriv2 with llc on x86
Chris Lattner [Sat, 7 Apr 2007 20:19:08 +0000 (20:19 +0000)]
Fix an off-by-one error that broke Prolangs/deriv2 with llc on x86
and Prolangs-C/cdecl

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35749 91177308-0d34-0410-b5e6-96231b3b80d8