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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Chris Lattner [Sat, 7 Apr 2007 20:00:36 +0000 (20:00 +0000)]
xfail these until owen can figure out the right fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35748
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 19:51:45 +0000 (19:51 +0000)]
Avoid a useless temporary constrution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35747
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 19:50:21 +0000 (19:50 +0000)]
For PR1291:
Change to use PathWithStatus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35746
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 19:49:35 +0000 (19:49 +0000)]
Update for PathWithStatus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35745
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 19:45:30 +0000 (19:45 +0000)]
Fix another PathWithStatus issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35744
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 18:53:16 +0000 (18:53 +0000)]
For PR1291:
Change uses of sys::Path class to sys::PathWithStatus in those places where
the file status information is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35743
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 18:52:17 +0000 (18:52 +0000)]
For PR1291:
Implement the PathWithStatus class and its use throughout lib/System.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35742
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 7 Apr 2007 18:23:27 +0000 (18:23 +0000)]
Add DomSet back, and revert the changes to LoopSimplify. Apparently the
ETForest updating mechanisms don't work as I thought they did. These changes
will be reapplied once the issue is worked out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35741
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Sat, 7 Apr 2007 17:48:27 +0000 (17:48 +0000)]
Eliminate unnecessary APInt construction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35740
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 7 Apr 2007 17:43:25 +0000 (17:43 +0000)]
Rephrase linker explanation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35739
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Sat, 7 Apr 2007 17:40:57 +0000 (17:40 +0000)]
Make APInt variables do the computation stuffs instead of
ConstantExpr::getXX if possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35738
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Sat, 7 Apr 2007 17:12:38 +0000 (17:12 +0000)]
Eliminate unnecessary zext/trunc stuffs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35737
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 16:14:01 +0000 (16:14 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35736
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 16:10:37 +0000 (16:10 +0000)]
For PR1312:
For the short CALL/INVOKE syntax, the signedness of the result type is two
extractions away from the type argument because its a POINTER to function
type, not a function type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35735
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 7 Apr 2007 15:48:32 +0000 (15:48 +0000)]
Add support for cast instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35734
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 7 Apr 2007 15:41:33 +0000 (15:41 +0000)]
Add signExtend to ConstantRange, to complement zeroExtend and truncate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35733
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 7 Apr 2007 14:31:16 +0000 (14:31 +0000)]
Unbreak VC++ build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35732
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 7 Apr 2007 07:17:27 +0000 (07:17 +0000)]
Completely purge DomSet. This is the (hopefully) final patch for PR1171.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35731
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 7 Apr 2007 06:56:47 +0000 (06:56 +0000)]
Completely purge DomSet from LoopSimplify. This is part of the
continuing work on PR1171.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35730
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 7 Apr 2007 05:57:09 +0000 (05:57 +0000)]
BreakCriticalEdges does still preserve DominatorTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35729
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 7 Apr 2007 05:49:29 +0000 (05:49 +0000)]
Expunge DomSet from BreakCriticalEdges. This is part of the continuing
work for PR 1171.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35728
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 05:38:53 +0000 (05:38 +0000)]
Fix a bug in my earlier commit which exposed positional options backwards.
This fixes llvm-ar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35727
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 7 Apr 2007 05:31:27 +0000 (05:31 +0000)]
Expunge DomSet from CodeExtractor. This is part of the continuing work
on PR1171.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35726
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 05:20:07 +0000 (05:20 +0000)]
Terminate some lines that need to be.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35725
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 7 Apr 2007 04:49:12 +0000 (04:49 +0000)]
Support NE inequality in ValueRanges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35724
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 7 Apr 2007 04:43:07 +0000 (04:43 +0000)]
Expunge DomSet from LoadValueNumbering. This is part of the continuing
work on PR1171.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 04:43:02 +0000 (04:43 +0000)]
add loop rot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35722
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 7 Apr 2007 04:41:16 +0000 (04:41 +0000)]
Reinstate the SVN capability without requiring Date::Parse. As before the
SVN Repository is only used if requested with -usesvn option otherwise it
uses CVS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35721
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sat, 7 Apr 2007 04:37:14 +0000 (04:37 +0000)]
Expunge a bunch of uses of DomSet from LoopSimplify. Many more remain.
This is the beginning of work for PR1171.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35720
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 7 Apr 2007 03:36:51 +0000 (03:36 +0000)]
Cleanup. Refactor out the applying of value ranges to its own method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35719
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 7 Apr 2007 03:16:12 +0000 (03:16 +0000)]
Use TargetData to find the size of a type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35718
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 7 Apr 2007 02:30:14 +0000 (02:30 +0000)]
Strengthen icmp snuggling by doing 'compare-or-equal-to' to 'compare'
first and then range testing second.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35715
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Sat, 7 Apr 2007 01:25:15 +0000 (01:25 +0000)]
Add loop rotation pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 01:18:36 +0000 (01:18 +0000)]
fix a miscompilation in printf optimizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 01:03:46 +0000 (01:03 +0000)]
trunc to bool no longer compares against zero
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 01:02:00 +0000 (01:02 +0000)]
cleanups for strlen optimizer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 00:42:32 +0000 (00:42 +0000)]
Introduce a new ReplaceCallWith method, which simplifies a lot of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35710
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 00:26:18 +0000 (00:26 +0000)]
fixes for strcpy optimizer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 00:06:57 +0000 (00:06 +0000)]
Fix bugs in strncmp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35708
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Apr 2007 00:01:51 +0000 (00:01 +0000)]
fix 3 miscompilations and several compielr crashes in strcmp optimizer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35707
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Apr 2007 23:38:55 +0000 (23:38 +0000)]
Fix several nasty bugs in the strchr optimizer, this fixes
SimplifyLibCalls/2007-04-06-strchr-miscompile.ll and PR1307
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35706
91177308-0d34-0410-b5e6-
96231b3b80d8