Devang Patel
780b3ca64b
Update inliner to handle functions that return multiple values.
...
llvm-svn: 48020
2008-03-07 20:06:16 +00:00
Devang Patel
47d774b2c8
Place for sret promotion tests.
...
llvm-svn: 48016
2008-03-07 20:00:15 +00:00
Nick Lewycky
3e2d7c9f85
Commit the testcase too.
...
llvm-svn: 47988
2008-03-06 06:50:03 +00:00
Nick Lewycky
d0b62a1552
Don't try to simplify urem and srem using arithmetic rules that don't work
...
under modulo (overflow). Fixes PR1933.
llvm-svn: 47987
2008-03-06 06:48:30 +00:00
Devang Patel
941ab37ea8
Use cast instead of dyn_cast.
...
Update test to use multiple return value directly, instead of relying on -sretpromotion.
llvm-svn: 47907
2008-03-04 21:45:28 +00:00
Devang Patel
841322b32a
Handle multiple return values.
...
llvm-svn: 47904
2008-03-04 21:15:15 +00:00
Tanya Lattner
5640bd186a
Remove llvm-upgrade and update test cases.
...
llvm-svn: 47793
2008-03-01 09:15:35 +00:00
Chris Lattner
c966cebe93
fix a bug Anders ran into where scalarrepl would crash when promoting
...
a union containing a vector and an array whose elements were smaller than
the vector elements. this means we need to compile the load of the
array elements into an extract element plus a truncate.
llvm-svn: 47752
2008-02-29 07:12:06 +00:00
Chris Lattner
c612571555
Folding or(fcmp,fcmp) only works if the operands of the fcmps are the same fp type.
...
llvm-svn: 47750
2008-02-29 06:09:11 +00:00
Owen Anderson
e41c19c987
Add PR number to testcase.
...
llvm-svn: 47640
2008-02-26 23:16:11 +00:00
Owen Anderson
d29ed0b122
Fix an issue where GVN had the sizes of the two memcpy's reverse, resulting
...
in an invalid transformation.
llvm-svn: 47639
2008-02-26 23:06:17 +00:00
Chris Lattner
a39cff3aaa
fix this test so that the fn name doesn't match the regex
...
llvm-svn: 47608
2008-02-26 18:13:51 +00:00
Gabor Greif
3d9755f6ca
Really feed llvm-as with the testcase, do not let it read from stdin. This fixes the hangs seen on solaris10.
...
llvm-svn: 47604
2008-02-26 13:37:13 +00:00
Owen Anderson
df1d2b02f9
Fix an issue where GVN was performing the return slot optimization when it was
...
not safe. This is fixed by more aggressively checking that the return slot is
not used elsewhere in the function.
llvm-svn: 47544
2008-02-25 04:08:09 +00:00
Owen Anderson
40dca46ddb
Fix an issue where GVN would try to use an instruction before its definition when performing return slot optimization.
...
llvm-svn: 47541
2008-02-25 00:40:41 +00:00
Zhou Sheng
aae582ba99
Testcase for Revision 47478.
...
llvm-svn: 47531
2008-02-23 10:59:51 +00:00
Nick Lewycky
fefd0202c9
Correctly fold divide-by-constant, even when faced with overflow.
...
llvm-svn: 47287
2008-02-18 22:48:05 +00:00
Chris Lattner
23fe6630e3
make this just a bit more strict.
...
llvm-svn: 47274
2008-02-18 17:33:10 +00:00
Owen Anderson
3549553262
Add support to GVN for performing sret return slot optimization. This means that, if an sret function tail calls
...
another sret function, it should pass its own sret parameter to the tail callee, allowing it to fill in the correct
return value. llvm-gcc does not emit this by default. Instead, it allocates space in the caller for the sret of
the tail call and then uses memcpy to copy the result into the caller's sret parameter. This optimization detects
and optimizes that case.
llvm-svn: 47265
2008-02-18 09:24:53 +00:00
Chris Lattner
024f8c8f09
optimize away stackrestore calls that have no intervening alloca or call.
...
llvm-svn: 47258
2008-02-18 06:12:38 +00:00
Chris Lattner
c8ec470b52
upgrade this test.
...
llvm-svn: 47257
2008-02-18 06:11:00 +00:00
Chris Lattner
cc22601bc3
Fold (-x + -y) -> -(x+y) which promotes better association, fixing
...
the second half of PR2047
llvm-svn: 47244
2008-02-17 21:03:36 +00:00
Chris Lattner
a70d138457
Split up subtracts into add+negate if they have a reassociable use or operand
...
that is also a subtract. This implements PR2047 and Transforms/Reassociate/subtest2.ll
llvm-svn: 47241
2008-02-17 20:51:26 +00:00
Chris Lattner
2de8c2d41f
upgrade and simplify this test.
...
llvm-svn: 47240
2008-02-17 20:48:43 +00:00
Duncan Sands
573b3f89e4
Remove any 'nest' parameter attributes if the function
...
is not passed as an argument to a trampoline intrinsic.
llvm-svn: 47220
2008-02-16 20:56:04 +00:00
Devang Patel
2e622e4c2b
If loop header is also loop exiting block then OrigPN is incoming value for B loop header.
...
Fixes PR 2030.
llvm-svn: 47141
2008-02-14 23:18:47 +00:00
Chris Lattner
70e294660a
Fix PR2029
...
llvm-svn: 47129
2008-02-14 19:18:13 +00:00
Nick Lewycky
9592bb0390
Testcase for PR2032.
...
llvm-svn: 47113
2008-02-14 07:15:11 +00:00
Devang Patel
0ecb76d820
A loop latch phi node may have uses inside loop, not just in loop header.
...
llvm-svn: 47093
2008-02-13 22:23:07 +00:00
Devang Patel
22c3caab6e
While moving exit condition, do not drop loop latch on the floor.
...
llvm-svn: 47089
2008-02-13 22:06:36 +00:00
Devang Patel
c281d8031b
Keep track of exit value operand number when operands are swapped.
...
llvm-svn: 47082
2008-02-13 19:48:48 +00:00
Eli Friedman
460648abde
Add a note pointing to PR1996.
...
llvm-svn: 47055
2008-02-13 07:56:04 +00:00
Eli Friedman
03ec63f29d
Add test for PR1996. (This is my first time adding a test for a
...
transform, so please review.)
llvm-svn: 47050
2008-02-13 06:55:57 +00:00
Owen Anderson
00dba4f734
Re-apply the patch to improve the optimizations of memcpy's, with several
...
bugs fixed. This now passes PPC bootstrap.
llvm-svn: 47026
2008-02-12 21:15:18 +00:00
Devang Patel
26f75e2576
Fix PR 1995.
...
llvm-svn: 46898
2008-02-08 22:49:13 +00:00
Bill Wendling
c676a0329c
Temporarily reverting:
...
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080128/057882.html
This is causing a miscompilation on PPC G5 and just now seeing it on iMac x86-64.
llvm-svn: 46822
2008-02-06 20:03:07 +00:00
Chris Lattner
682a7dc653
Fix a bug compiling PR1978 (perhaps not the only one though) which
...
was incorrectly simplifying "x == (gep x, 1, i)" into false, even
though i could be negative. As it turns out, all the code to
handle this already existed, we just need to disable the incorrect
optimization case and let the general case handle it.
llvm-svn: 46739
2008-02-05 04:45:32 +00:00
Owen Anderson
1a78ae76e4
Make this test more aggressive, to cover recent improvements.
...
llvm-svn: 46695
2008-02-04 04:55:24 +00:00
Owen Anderson
c4a7c41869
Allow GVN to hack on memcpy's, making them open to further optimization.
...
llvm-svn: 46693
2008-02-04 02:59:58 +00:00
Nick Lewycky
56178bc6ad
Tag this test with the PR reference.
...
llvm-svn: 46688
2008-02-03 16:35:19 +00:00
Nick Lewycky
3b59214320
There are some cases where icmp(add) can be folded into a new icmp. Handle them.
...
llvm-svn: 46687
2008-02-03 16:33:09 +00:00
Duncan Sands
9aa789fda3
Don't drop function/call return attributes like 'nounwind'.
...
llvm-svn: 46645
2008-02-01 20:37:16 +00:00
Owen Anderson
4e4b116750
Make DSE much more aggressive by performing DCE earlier. Update a testcase to reflect this increased aggressiveness.
...
llvm-svn: 46542
2008-01-30 01:24:47 +00:00
Chris Lattner
b9e5b8fb9e
Fix a bug where scalarrepl would discard offset if type would match.
...
In practice this can only happen on code with already undefined behavior,
but this is still a good thing to handle correctly.
llvm-svn: 46539
2008-01-30 00:39:15 +00:00
Chris Lattner
ade0abb498
Don't let globalopt hack on volatile loads or stores.
...
llvm-svn: 46523
2008-01-29 19:01:37 +00:00
Chris Lattner
17819d971e
eliminate additions of 0.0 when they are obviously dead. This has to be careful to
...
avoid turning -0.0 + 0.0 -> -0.0 which is incorrect.
llvm-svn: 46499
2008-01-29 06:52:45 +00:00
Owen Anderson
95bf1d4d7b
Add a testcase for eliminating memcpy's at the end of functions. Forgot to commit this with my last commit.
...
llvm-svn: 46497
2008-01-29 06:40:32 +00:00
Devang Patel
67fa0521b6
Filter loops that subtract induction variables.
...
These loops are not yet handled.
Fix PR 1912.
llvm-svn: 46484
2008-01-29 02:20:41 +00:00
Chris Lattner
a116071547
this test is now compiled into the right thing.
...
llvm-svn: 46454
2008-01-28 17:38:46 +00:00
Nick Lewycky
8ea81e8ba4
Handle some more combinations of extend and icmp. Fixes PR1940.
...
llvm-svn: 46431
2008-01-28 03:48:02 +00:00
Chris Lattner
710b441174
Fix PR1932 by disabling an xform invalid for fdiv.
...
llvm-svn: 46429
2008-01-28 00:58:18 +00:00
Chris Lattner
1b706dd680
Fix PR1938 by forcing the code that uses an undefined value to branch one
...
way or the other. Rewriting the code itself prevents subsequent analysis
passes from making contradictory conclusions about the code that could
cause an infeasible path to be made feasible.
llvm-svn: 46427
2008-01-28 00:32:30 +00:00
Nick Lewycky
efb16f7057
Be more careful modifying the use_list while also iterating through it.
...
llvm-svn: 46417
2008-01-27 18:35:00 +00:00
Duncan Sands
053c9871cd
Revert r46393: readonly/readnone functions are no
...
longer allowed to write through byval arguments.
llvm-svn: 46416
2008-01-27 18:12:58 +00:00
Bill Wendling
8c491162d2
The CorrelatedExpressions pass is now no more.
...
llvm-svn: 46409
2008-01-27 06:13:32 +00:00
Chris Lattner
fa1e7eef30
Fold fptrunc(add (fpextend x), (fpextend y)) -> add(x,y), as GCC does.
...
llvm-svn: 46406
2008-01-27 05:29:54 +00:00
Duncan Sands
dc157a4f0a
Invert this test, because it is wrong if we allow
...
readonly functions to use byval parameters as local
storage (how much do we want this?).
llvm-svn: 46399
2008-01-26 12:33:01 +00:00
Owen Anderson
6af19fd1e2
DeadStoreElimination can treat byval parameters as if there were alloca's for the purpose of removing end-of-function stores.
...
llvm-svn: 46351
2008-01-25 10:10:33 +00:00
Nick Lewycky
78712e5b59
Multiply can be evaluated in a different type, so long as the target type has
...
a smaller bitwidth.
llvm-svn: 46244
2008-01-22 05:08:48 +00:00
Evan Cheng
9a93dc9565
Test case for varargs parameter attribute issue I just fixed.
...
llvm-svn: 46127
2008-01-17 07:26:31 +00:00
Chris Lattner
5630c4f217
Fix arg promotion to propagate the correct attrs on the calls to
...
promoted functions. This is important for varargs calls in
particular. Thanks to duncan for providing a great testcase.
llvm-svn: 46108
2008-01-17 01:17:03 +00:00
Devang Patel
b3696e4f14
Do not strip llvm.used values.
...
llvm-svn: 46045
2008-01-16 03:33:05 +00:00
Chris Lattner
f3e1155c41
add a test to ensure that argpromote of one argument doesn't
...
break the byval attr on some other argument.
llvm-svn: 46025
2008-01-15 22:38:12 +00:00
Duncan Sands
b5ca2e9fcb
I noticed that the trampoline straightening transformation could
...
drop attributes on varargs call arguments. Also, it could generate
invalid IR if the transformed call already had the 'nest' attribute
somewhere (this can never happen for code coming from llvm-gcc,
but it's a theoretical possibility). Fix both problems.
llvm-svn: 45973
2008-01-14 19:52:09 +00:00
Chris Lattner
26fe7ebc03
Fix the miscompilation of MiBench/consumer-lame that was exposed by Evan's
...
byval work. This miscompilation is due to the program indexing an array out
of range and us doing a transformation that broke this.
llvm-svn: 45949
2008-01-14 02:09:12 +00:00
Chris Lattner
92bd785323
Turn a memcpy from a double* into a load/store of double instead of
...
a load/store of i64. The later prevents promotion/scalarrepl of the
source and dest in many cases.
This fixes the 300% performance regression of the byval stuff on
stepanov_v1p2.
llvm-svn: 45945
2008-01-14 00:28:35 +00:00
Chris Lattner
5bc253c8f2
Fix PR1907, a nasty miscompilation because instcombine didn't
...
realize that ne & sgt was a signed comparison (it was only
looking at whether the left compare was signed).
llvm-svn: 45937
2008-01-13 20:59:02 +00:00
Duncan Sands
781f6549db
When turning a call to a bitcast function into a direct call,
...
if this becomes a varargs call then deal correctly with any
parameter attributes on the newly vararg call arguments.
llvm-svn: 45931
2008-01-13 08:02:44 +00:00
Chris Lattner
4f6c81ac68
we don't have to make an explicit copy of a byval argument when
...
inlining a function if we know that the function does not write
to *any* memory. This implements test/Transforms/Inline/byval2.ll
llvm-svn: 45912
2008-01-12 18:54:29 +00:00
Duncan Sands
5b721fc21d
When DAE drops the varargs part of a function, ensure any
...
attributes on the vararg call arguments are also dropped.
llvm-svn: 45892
2008-01-11 23:13:45 +00:00
Chris Lattner
b5bd924e83
Teach argpromote to ruthlessly hack small byval structs when it can
...
get away with it, which exposes opportunities to eliminate the memory
objects entirely. For example, we now compile byval.ll to:
define internal void @f1(i32 %b.0, i64 %b.1) {
entry:
%tmp2 = add i32 %b.0, 1 ; <i32> [#uses=0]
ret void
}
define i32 @main() nounwind {
entry:
call void @f1( i32 1, i64 2 )
ret i32 0
}
This seems like it would trigger a lot for code that passes around small
structs (e.g. SDOperand's or _Complex)...
llvm-svn: 45886
2008-01-11 22:31:41 +00:00
Chris Lattner
908117bf69
When inlining a functino with a byval argument, make an explicit
...
copy of it in case the callee modifies the struct.
llvm-svn: 45853
2008-01-11 06:09:30 +00:00
Chris Lattner
2940c5c56d
Implement PR1795, an instcombine hack for forming GEPs with integer pointer arithmetic.
...
llvm-svn: 45745
2008-01-08 07:23:51 +00:00
Duncan Sands
404eb05247
The transform that tries to turn calls to bitcast functions into
...
direct calls bails out unless caller and callee have essentially
equivalent parameter attributes. This is illogical - the callee's
attributes should be of no relevance here. Rework the logic, which
incidentally fixes a crash when removed arguments have attributes.
llvm-svn: 45658
2008-01-06 18:27:01 +00:00
Duncan Sands
55e5090fe8
When transforming a call to a bitcast function into
...
a direct call with cast parameters and cast return
value (if any), instcombine was prepared to cast any
non-void return value into any other, whether castable
or not. Add a new predicate for testing whether casting
is valid, and check it both for the return value and
(as a cleanup) for the parameters.
llvm-svn: 45657
2008-01-06 10:12:28 +00:00
Chris Lattner
e666bc272d
remove a couple more unsafe xforms in the face of overflow.
...
llvm-svn: 45613
2008-01-05 01:22:42 +00:00
Chris Lattner
bdd6acfb59
Fix PR1896
...
llvm-svn: 45568
2008-01-04 05:04:53 +00:00
Chris Lattner
f391883670
don't hoist FP additions into unconditional adds + selects. This
...
could theoretically introduce a trap, but is also a performance issue.
This speeds up ptrdist/ks by 8%.
llvm-svn: 45533
2008-01-03 07:25:26 +00:00
Bill Wendling
6f8c9a8372
Update this testcase. The output needs to be disabled to pass.
...
llvm-svn: 45478
2008-01-01 01:34:36 +00:00
Chris Lattner
e96658392d
dead calls to llvm.stacksave can be deleted, even though they
...
have potential side-effects.
llvm-svn: 45392
2007-12-29 00:59:12 +00:00
Chris Lattner
bc03f70a07
upgrade this test
...
llvm-svn: 45391
2007-12-29 00:57:06 +00:00
Devang Patel
b57ff068cd
Test -simplifycfg only.
...
llvm-svn: 45389
2007-12-28 22:59:48 +00:00
Owen Anderson
3de3f9981e
Add a testcase for my recent InstCombine fix, written by Nicholas.
...
llvm-svn: 45386
2007-12-28 21:08:43 +00:00
Chris Lattner
74b2ab59fd
implement InstCombine/shift-trunc-shift.ll. This allows
...
us to compile:
#include <math.h>
int t1(double d) { return signbit(d); }
into:
_t1:
movd %xmm0, %rax
shrq $63, %rax
ret
instead of:
_t1:
movd %xmm0, %rax
shrq $32, %rax
shrl $31, %eax
ret
on x86-64.
llvm-svn: 45311
2007-12-22 09:07:47 +00:00
Devang Patel
7a2c66b11e
If succ has succ itself as one of the predecessors then do
...
not merge current bb and succ even if bb's terminator is
unconditional branch to succ.
llvm-svn: 45305
2007-12-22 01:32:53 +00:00
Duncan Sands
6a7703ed63
Make DAE not wipe out attributes on calls, and not drop
...
return attributes on the floor. In the case of a call
to a varargs function where the varargs arguments are
being removed, any call attributes on those arguments
need to be dropped. I didn't do this because I plan to
make it illegal to have such attributes (see next patch).
With this change, compiling the gcc filter2 eh test at -O0
and then running opt -std-compile-opts on it results in
a correctly working program (compiling at -O1 or higher
results in the test failing due to a problem with how we
output eh info into the IR).
llvm-svn: 45285
2007-12-21 19:16:16 +00:00
Christopher Lamb
7d82bc46b8
Implement review feedback, including additional transforms
...
(icmp slt (sub A B) 1) -> (icmp sle A B)
icmp sgt (sub A B) -1) -> (icmp sge A B)
and add testcase.
llvm-svn: 45256
2007-12-20 07:21:11 +00:00
Duncan Sands
aa31b92508
When inlining through an 'nounwind' call, mark inlined
...
calls 'nounwind'. It is important for correct C++
exception handling that nounwind markings do not get
lost, so this transformation is actually needed for
correctness.
llvm-svn: 45218
2007-12-19 21:13:37 +00:00
Christopher Lamb
74dbad9216
Remove an orthogonal transformation of the selection condition from my most recent submission.
...
llvm-svn: 45169
2007-12-18 20:30:28 +00:00
Christopher Lamb
30291f4a30
Fix typos.
...
llvm-svn: 45159
2007-12-18 09:45:40 +00:00
Christopher Lamb
8b09a464b4
Fold certain additions through selects (and their compares) so as to eliminate subtractions. This code is often produced by the SMAX expansion in SCEV.
...
This implements test/Transforms/InstCombine/2007-12-18-AddSelCmpSub.ll
llvm-svn: 45158
2007-12-18 09:34:41 +00:00
Duncan Sands
b5a79d0eaa
Make invokes of inline asm legal. Teach codegen
...
how to lower them (with no attempt made to be
efficient, since they should only occur for
unoptimized code).
llvm-svn: 45108
2007-12-17 18:08:19 +00:00
Duncan Sands
8e4847ee95
Make instcombine promote inline asm calls to 'nounwind'
...
calls. Remove special casing of inline asm from the
inliner. There is a potential problem: the verifier
rejects invokes of inline asm (not sure why). If an
asm call is not marked "nounwind" in some .ll, and
instcombine is not run, but the inliner is run, then
an illegal module will be created. This is bad but
I'm not sure what the best approach is. I'm tempted
to remove the check in the verifier...
llvm-svn: 45073
2007-12-16 15:51:49 +00:00
Wojciech Matyjewicz
309e5a723b
1. "Upgrage" comments.
...
2. Using zero-extended value of Scale and unsigned division is safe provided
that Scale doesn't have the sign bit set.
Previously these 2 instructions:
%p = bitcast [100 x {i8,i8,i8}]* %x to i8*
%q = getelementptr i8* %p, i32 -4
were combined into:
%q = getelementptr [100 x { i8, i8, i8 }]* %x, i32 0,
i32 1431655764, i32 0
what was incorrect.
llvm-svn: 44936
2007-12-12 15:21:32 +00:00
Chris Lattner
6a6b3fb62b
Implement constant folding if vector<->vector bitcasts where the number
...
of source/dest elements changes. This implements
test/Transforms/InstCombine/bitcast-vector-fold.ll
llvm-svn: 44855
2007-12-11 07:29:44 +00:00
Chris Lattner
d2265b45ae
Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp.
...
Reimplement the xform in Analysis/ConstantFolding.cpp where we can use
targetdata to validate that it is safe. While I'm in there, fix some const
correctness issues and generalize the interface to the "operand folder".
llvm-svn: 44817
2007-12-10 22:53:04 +00:00
Duncan Sands
9f76be61d1
Make PruneEH update the nounwind/noreturn attributes
...
on functions as it calculates them.
llvm-svn: 44802
2007-12-10 19:09:40 +00:00
Devang Patel
bd75910fa7
If ExitValue operand is also defined in Loop header then
...
insert new ExitValue after this operand definition.
This fixes PR1828.
llvm-svn: 44539
2007-12-03 19:17:21 +00:00
Duncan Sands
5208d1ab4a
Add some convenience methods for querying attributes, and
...
use them.
llvm-svn: 44403
2007-11-28 17:07:01 +00:00
Duncan Sands
ad0ea2d430
Fix PR1146: parameter attributes are longer part of
...
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.
llvm-svn: 44359
2007-11-27 13:23:08 +00:00
Nick Lewycky
cdb7e54ca7
Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops.
...
llvm-svn: 44319
2007-11-25 22:41:31 +00:00
Chris Lattner
c00e8adfe0
Implement PR1822
...
llvm-svn: 44318
2007-11-25 21:27:53 +00:00
Duncan Sands
185eeac0f8
Fix PR1816. If a bitcast of a function only exists because of a
...
trivial difference in function attributes, allow calls to it to
be converted to direct calls. Based on a patch by Török Edwin.
While there, move the various lists of mutually incompatible
parameters etc out of the verifier and into ParameterAttributes.h.
llvm-svn: 44315
2007-11-25 14:10:56 +00:00
Chris Lattner
893fe3bbd1
Fix PR1816, by correcting the broken definition of APInt::countTrailingZeros.
...
llvm-svn: 44296
2007-11-23 22:42:31 +00:00
Duncan Sands
8a3e9d2bee
Ding dong, the DoesntAccessMemoryFns and
...
OnlyReadsMemoryFns tables are dead! We
get more, and more accurate, information
from gcc via the readnone and readonly
function attributes.
llvm-svn: 44288
2007-11-23 19:30:27 +00:00
Chris Lattner
a8fbde3f78
Fix a bug where we'd try to find a scev value for a bitcast operand,
...
even though the bitcast operand did not have integer type. This fixes
PR1814.
llvm-svn: 44286
2007-11-23 08:46:22 +00:00
Chris Lattner
1985d96dc9
Fix PR1817.
...
llvm-svn: 44284
2007-11-22 23:47:13 +00:00
Duncan Sands
a915b538d3
Turn invokes of nounwind functions into ordinary calls.
...
llvm-svn: 44280
2007-11-22 22:24:59 +00:00
Duncan Sands
1c97d752df
Readonly/readnone functions are allowed to throw
...
exceptions, so don't turn invokes of them into
calls.
llvm-svn: 44278
2007-11-22 21:40:06 +00:00
Chris Lattner
c53b18362a
Fix PR1800 by correcting mistaken logic.
...
llvm-svn: 44188
2007-11-16 06:04:17 +00:00
Chris Lattner
a77e74edba
Implement PR1796 and Transforms/SimplifyCFG/noreturn-call.ll
...
by inserting unreachable after no-return calls.
llvm-svn: 44099
2007-11-14 06:19:25 +00:00
Chris Lattner
f150ace6cb
upgrade test
...
llvm-svn: 44067
2007-11-13 21:42:48 +00:00
Chris Lattner
61ce4dff7a
Implement PR1786 by iterating between dead cycle elimination
...
and simplifycfg in the rare cases when it is needed.
llvm-svn: 44044
2007-11-13 07:32:38 +00:00
Chris Lattner
f9c0fd7488
Tighten up a check for folding away loads from (newly constant) globals. This
...
fixes a crash on Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll and
rdar://5585488.
llvm-svn: 43949
2007-11-09 17:33:02 +00:00
Andrew Lenharth
19ca5c7021
Better check
...
llvm-svn: 43897
2007-11-08 18:45:15 +00:00
Andrew Lenharth
8cf11aa330
Fix PR1780
...
llvm-svn: 43893
2007-11-08 17:39:28 +00:00
Chris Lattner
d8515f8e80
Implement PR1777 by detecting dependent phis that
...
all compute the same value.
llvm-svn: 43777
2007-11-06 21:52:06 +00:00
Dan Gohman
4decbc5002
Fix an abort in instcombine when folding creates a vector rem instruction.
...
llvm-svn: 43743
2007-11-05 23:16:33 +00:00
Devang Patel
b98d2050a2
If a value is incoming from outside the loop then the value does not need remapping and the value is never tracked through LastValueMap.
...
llvm-svn: 43728
2007-11-05 19:32:30 +00:00
Duncan Sands
399d97987b
Change uses of getTypeSize to getABITypeSize, getTypeStoreSize
...
or getTypeSizeInBits as appropriate in ScalarReplAggregates.
The right change to make was not always obvious, so it would
be good to have an sroa guru review this. While there I noticed
some bugs, and fixed them: (1) arrays of x86 long double have
holes due to alignment padding, but this wasn't being spotted
by HasStructPadding (renamed to HasPadding). The same goes
for arrays of oddly sized ints. Vectors also suffer from this,
in fact the problem for vectors is much worse because basic
vector assumptions seem to be broken by vectors of type with
alignment padding. I didn't try to fix any of these vector
problems. (2) The code for extracting smaller integers from
larger ones (in the "int union" case) was wrong on big-endian
machines for integers with size not a multiple of 8, like i1.
Probably this is impossible to hit via llvm-gcc, but I fixed
it anyway while there and added a testcase. I also got rid of
some trailing whitespace and changed a function name which
had an obvious typo in it.
llvm-svn: 43672
2007-11-04 14:43:57 +00:00
Owen Anderson
2ed651ace7
Fix test/Transforms/DeadStoreElimination/PartialStore.ll, which had been
...
silently failing because of an incorrect run line for some time.
llvm-svn: 43605
2007-11-01 05:29:16 +00:00
Chris Lattner
6ab19ed78d
Fix InstCombine/2007-10-31-StringCrash.ll by removing an obvious
...
(in hindsight) infinite recursion. Simplify the code.
llvm-svn: 43597
2007-11-01 02:30:35 +00:00
Chris Lattner
74709473ed
Fix InstCombine/2007-10-31-RangeCrash.ll
...
llvm-svn: 43596
2007-11-01 02:18:41 +00:00
Dan Gohman
9f39660c20
Add support for folding binary operators with vector zero operands.
...
llvm-svn: 43510
2007-10-30 19:00:49 +00:00
Chris Lattner
00860d7574
update testcase
...
llvm-svn: 43452
2007-10-29 17:06:35 +00:00
Chris Lattner
c541c3ee15
Model stacksave and stackrestore as both writing memory, since we
...
don't model their dependences on allocas correctly. This fixes
PR1745.
llvm-svn: 43442
2007-10-29 05:47:52 +00:00
Chris Lattner
9a641510bd
Fix PR1749 and InstCombine/2007-10-28-EmptyField.ll by handling
...
zero-length fields better.
llvm-svn: 43427
2007-10-29 02:40:02 +00:00
Chris Lattner
4a15e04aee
Fix PR1752 and LoopSimplify/2007-10-28-InvokeCrash.ll: terminators
...
can have uses too. Wouldn't it be nice if invoke didn't exist? :)
llvm-svn: 43426
2007-10-29 02:30:37 +00:00
Chris Lattner
c62877e9da
Implement a couple of foldings for ordered and unordered comparisons,
...
implementing cases related to PR1738.
llvm-svn: 43289
2007-10-24 05:38:08 +00:00
Bill Wendling
ac5c93040f
Don't branch fold inline asm statements.
...
llvm-svn: 43191
2007-10-19 21:09:55 +00:00
Devang Patel
c0ced49a14
This test now passes.
...
llvm-svn: 43183
2007-10-19 17:11:01 +00:00
Chris Lattner
9715d9fb59
Fix PR1735 and Transforms/DeadArgElim/2007-10-18-VarargsReturn.ll by
...
fixing some obviously broken code :(
llvm-svn: 43141
2007-10-18 18:49:29 +00:00
Devang Patel
9497767458
XFAIL for now.
...
llvm-svn: 43111
2007-10-18 00:48:43 +00:00
Devang Patel
b3dac3f5d9
Do not raise free() call that is called through invoke instruction.
...
llvm-svn: 43083
2007-10-17 20:12:58 +00:00
Devang Patel
91ff13edcc
Apply "Instead of loading small c string constant, use integer constant directly" transformation while processing load instruction.
...
llvm-svn: 43070
2007-10-17 07:24:40 +00:00
Chris Lattner
ad618f66e6
Fix a bug in my patch last night that broke InstCombine/2007-10-12-Crash.ll
...
llvm-svn: 42920
2007-10-12 18:05:47 +00:00
Chris Lattner
3e99eb25ee
testcase for PR1728
...
llvm-svn: 42890
2007-10-12 05:29:53 +00:00
Devang Patel
899cc56612
Lower memcpy if it makes sense.
...
llvm-svn: 42864
2007-10-11 17:21:57 +00:00
Devang Patel
a69f987b66
Fix bug in updating dominance frontier after loop
...
unswitch when frontier includes basic blocks that
are not inside loop.
llvm-svn: 42654
2007-10-05 22:29:34 +00:00
Devang Patel
2a60ff1aeb
Relax unsafe use check. If there is one unconditional use inside the loop then it is safe to promote value even if there is another conditional use inside the loop.
...
llvm-svn: 42493
2007-10-01 18:12:58 +00:00
Devang Patel
7bba386f72
Handle multiple induction variables.
...
This fixes PR714.
llvm-svn: 42309
2007-09-25 18:24:48 +00:00
Devang Patel
87d7e8ebcb
Add transformation to update loop interation space. Now,
...
for (i=A; i<N; i++) {
if (i < X && i > Y)
do_something();
}
is transformed into
U=min(N,X); L=max(A,Y);
for (i=L;i<U;i++)
do_somethihg();
llvm-svn: 42299
2007-09-25 17:31:19 +00:00
Devang Patel
9e30e1a3be
Do not promote null values because it may be unsafe to do so.
...
llvm-svn: 42270
2007-09-24 20:02:42 +00:00
Devang Patel
361e52f39c
Fix PR1692
...
llvm-svn: 42209
2007-09-21 21:18:19 +00:00
Duncan Sands
416b9f0410
Testcase for PR1678.
...
llvm-svn: 42171
2007-09-20 18:56:24 +00:00
Nick Lewycky
e7be16a053
Excuse me.
...
llvm-svn: 42158
2007-09-20 00:57:00 +00:00
Nick Lewycky
eae7e7d00b
Fix optimization. %x = sub %x, %y does not imply that %y is zero.
...
llvm-svn: 42157
2007-09-20 00:48:36 +00:00
Devang Patel
464276f831
Avoid unsafe promotion.
...
llvm-svn: 42149
2007-09-19 20:18:51 +00:00
Gabor Greif
49122edc98
rename test, it is obviously misspelled
...
llvm-svn: 42108
2007-09-18 21:42:39 +00:00
Devang Patel
fcda998ab2
Fix PR1657
...
llvm-svn: 42075
2007-09-18 01:54:42 +00:00
Dan Gohman
2ac2652779
Instcombine x-((x/y)*y) into a remainder operator.
...
llvm-svn: 42035
2007-09-17 17:31:57 +00:00
Chris Lattner
dd76f2f4ab
remove obsolete tests.
...
llvm-svn: 41984
2007-09-15 17:38:04 +00:00
Duncan Sands
94580c7522
Test that a call to a trampoline is turned into a call to
...
the underlying nested function.
llvm-svn: 41846
2007-09-11 15:07:50 +00:00
Chris Lattner
6cf04f4952
remove obsolete testcase
...
llvm-svn: 41820
2007-09-10 23:51:41 +00:00
Chris Lattner
52fe869374
Fix a buggy constant folding transformation when handling aliases.
...
llvm-svn: 41818
2007-09-10 23:42:42 +00:00
Dale Johannesen
62a48cea56
Add missing llvm-dis.
...
llvm-svn: 41813
2007-09-10 22:47:59 +00:00
Chris Lattner
c75cbe6473
Prevent tailcallelim from breaking "recursive" calls to builtins.
...
llvm-svn: 41804
2007-09-10 20:58:55 +00:00
Devang Patel
f8ab0a9acc
Filter exit conditions which are not yet handled.
...
llvm-svn: 41800
2007-09-10 18:33:42 +00:00
Chris Lattner
85a51e0060
Don't zap back to back volatile load/stores
...
llvm-svn: 41759
2007-09-07 05:33:03 +00:00
Nick Lewycky
b0b066eaaa
When the two operands of an icmp are equal, there are five possible predicates
...
that would make the icmp true. Fixes PR1637.
llvm-svn: 41740
2007-09-06 01:10:22 +00:00
Dale Johannesen
6480cc6f8c
Change all floating constants that are not exactly
...
representable to use hex format.
llvm-svn: 41722
2007-09-05 17:50:36 +00:00
Anton Korobeynikov
24fb6b2f8c
Don't promote volatile loads/stores. This is needed (for example) to handle setjmp/longjmp properly.
...
This fixes PR1520.
llvm-svn: 41461
2007-08-26 21:43:30 +00:00
Devang Patel
c1ef32ef3d
Constant split values needs upper bound and lower bound check, just like any other split value.
...
llvm-svn: 41389
2007-08-25 01:09:14 +00:00
Devang Patel
4e63e1f5b5
While calculating upper loop bound for first loop and lower loop bound for second loop, take care of edge cases.
...
llvm-svn: 41387
2007-08-25 00:56:38 +00:00
Devang Patel
c2e2d15f45
Do not split loops rejected by processOneIterationLoop().
...
llvm-svn: 41194
2007-08-20 20:24:15 +00:00
Devang Patel
cec2ad95f4
Add loop index split tests.
...
llvm-svn: 41146
2007-08-17 22:02:15 +00:00
Dan Gohman
ada7205b76
Convert tests using "grep -c ... | grep ..." to use the count script.
...
llvm-svn: 41100
2007-08-15 13:49:33 +00:00
Dan Gohman
f9dd170e36
Convert tests using "| wc -l | grep ..." to use the count script.
...
llvm-svn: 41097
2007-08-15 13:36:28 +00:00
Chris Lattner
1399f64e3b
oops, forgot to commit this.
...
llvm-svn: 41034
2007-08-12 16:55:14 +00:00
Chris Lattner
99c8ee2977
Transform a load from an undef/zero global into an undef/global even if we
...
have complex pointer manipulation going on. This allows us to compile
stuff like this:
__m128i foo(__m128i x){
static const unsigned int c_0[4] = { 0, 0, 0, 0 };
__m128i v_Zero = _mm_loadu_si128((__m128i*)c_0);
x = _mm_unpacklo_epi8(x, v_Zero);
return x;
}
into:
_foo:
xorps %xmm1, %xmm1
punpcklbw %xmm1, %xmm0
ret
llvm-svn: 41022
2007-08-11 18:48:48 +00:00
Chris Lattner
a8e4b4bc7b
when we see a unaligned load from an insufficiently aligned global or
...
alloca, increase the alignment of the load, turning it into an aligned load.
This allows us to compile:
#include <xmmintrin.h>
__m128i foo(__m128i x){
static const unsigned int c_0[4] = { 0, 0, 0, 0 };
__m128i v_Zero = _mm_loadu_si128((__m128i*)c_0);
x = _mm_unpacklo_epi8(x, v_Zero);
return x;
}
into:
_foo:
punpcklbw _c_0.5944, %xmm0
ret
.data
.lcomm _c_0.5944,16,4 # c_0.5944
instead of:
_foo:
movdqu _c_0.5944, %xmm1
punpcklbw %xmm1, %xmm0
ret
.data
.lcomm _c_0.5944,16,2 # c_0.5944
llvm-svn: 40971
2007-08-09 19:05:49 +00:00
Nick Lewycky
8052019a20
It's safe to fold not of fcmp.
...
llvm-svn: 40870
2007-08-06 20:04:16 +00:00
Chandler Carruth
7132e00de7
This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
...
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
llvm-svn: 40807
2007-08-04 01:51:18 +00:00
Chris Lattner
9ea0287e25
I don't have time to restore this functionality right now.
...
llvm-svn: 40743
2007-08-02 17:43:39 +00:00
Chris Lattner
498137dbfc
Reduced testcase for PR1594
...
llvm-svn: 40740
2007-08-02 17:11:24 +00:00
Devang Patel
a882328e61
Update dominator info for the middle blocks created while spliting
...
exit edge to preserve LCSSA.
Fix dominance frontier update during loop unswitch. This fixes PR 1589, again
llvm-svn: 40737
2007-08-02 15:25:57 +00:00
Chris Lattner
b0418fc607
Enhance instcombine to be more aggressive about folding casts of
...
operations of casts. This implements InstCombine/zext-fold.ll
llvm-svn: 40726
2007-08-02 06:11:14 +00:00
Chris Lattner
d7cb625a9e
Fix PR1575 and test/Transforms/CondProp/2007-08-01-InvalidRead.ll
...
llvm-svn: 40720
2007-08-02 04:47:05 +00:00
Devang Patel
561b0c29a3
Update dominator info for the middle blocks created while spliting
...
exit edge to preserve LCSSA.
Fix dominance frontier update during loop unswitch. This fixes PR 1589.
llvm-svn: 40695
2007-08-01 22:23:50 +00:00
Owen Anderson
4d34e40c6d
Forgot to update these files for the FastDSE changes.
...
llvm-svn: 40674
2007-08-01 16:53:51 +00:00
Owen Anderson
10e52eddb3
Rename FastDSE to just DSE.
...
llvm-svn: 40668
2007-08-01 06:36:51 +00:00
Owen Anderson
2464f4f048
Fix a failure I accidentally caused in my last commit by mishandling the
...
removal of redundant phis.
llvm-svn: 40650
2007-07-31 20:18:28 +00:00
Lauro Ramos Venancio
549e775e67
Fix a bug in GetKnownAlignment of packed structs.
...
llvm-svn: 40649
2007-07-31 20:13:21 +00:00
Dan Gohman
54ec4bfa5f
Change the x86 assembly output to use tab characters to separate the
...
mnemonics from their operands instead of single spaces. This makes the
assembly output a little more consistent with various other compilers
(f.e. GCC), and slightly easier to read. Also, update the regression
tests accordingly.
llvm-svn: 40648
2007-07-31 20:11:57 +00:00
Owen Anderson
d58fa6b09f
Fix a misoptimization in aha.
...
llvm-svn: 40642
2007-07-31 17:43:14 +00:00
Devang Patel
dd34d91e1a
Bunch of tests to check loop passes.
...
llvm-svn: 40629
2007-07-31 08:04:17 +00:00
Owen Anderson
d66e285b2e
Fix a bug caused by indiscriminantly asking for the dominators of a predecessor.
...
llvm-svn: 40595
2007-07-30 16:57:08 +00:00
Owen Anderson
0f692f27a3
Fix a bug introduced in my last commit.
...
llvm-svn: 40542
2007-07-26 18:57:04 +00:00
Owen Anderson
dbf23ccaa0
Fix a couple more bugs in the phi construction by pulling in code that does
...
almost the same things from LCSSA.
llvm-svn: 40540
2007-07-26 18:26:51 +00:00
Owen Anderson
3b8cc30a61
Fix what is _hopefully_ the last corner case for loops.
...
llvm-svn: 40503
2007-07-25 23:54:42 +00:00
Owen Anderson
8707412593
My last commit was not correct for nested loops. Fix it, and add a testcase for it.
...
llvm-svn: 40498
2007-07-25 22:19:40 +00:00
Owen Anderson
3c67004d47
Fix an infinite loop on 300.twolf.
...
llvm-svn: 40497
2007-07-25 22:03:06 +00:00
Owen Anderson
9b796348bd
Fix a bug in non-local memdep that was causing an infinite loop on 175.vpr.
...
llvm-svn: 40495
2007-07-25 21:26:36 +00:00
Owen Anderson
7bf26ee444
Fix a bug that was causing GVN to crash on 252.eon.
...
llvm-svn: 40494
2007-07-25 21:13:41 +00:00
Owen Anderson
5e5599b7ce
Add basic support for performing whole-function RLE.
...
Note: This has not yet been thoroughly tested. Use at your own risk.
llvm-svn: 40489
2007-07-25 19:57:03 +00:00
Owen Anderson
ab6ec2eac2
Add a GVN pass, using the value numbering code I developed for GVNPRE and the
...
load elimination code from RedundantLoadElimination.
llvm-svn: 40469
2007-07-24 17:55:58 +00:00
Devang Patel
13b25df0e9
Unreachable block is not a root node in post dominator tree.
...
llvm-svn: 40458
2007-07-24 01:02:25 +00:00
Owen Anderson
9baaaa52e6
Rename a lot of things to change FastDLE to RedundantLoadElimination.
...
llvm-svn: 40457
2007-07-24 00:17:04 +00:00
Owen Anderson
0a75315d35
Add testcases for FastDLE.
...
llvm-svn: 40449
2007-07-23 22:18:05 +00:00
Owen Anderson
59a6840d47
Move these tests to use FastDSE instead of old DSE.
...
llvm-svn: 40444
2007-07-23 20:49:13 +00:00
Chris Lattner
7649abce46
This xform isn't safe, removing it.
...
llvm-svn: 40378
2007-07-21 21:27:27 +00:00
Dan Gohman
e31a61eeca
Optimize alignment of loads and stores.
...
llvm-svn: 40102
2007-07-20 16:34:21 +00:00
Reid Spencer
314e1cb7ee
For PR1553:
...
Change the keywords for the zext and sext parameter attributes to be
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.
llvm-svn: 40069
2007-07-19 23:13:04 +00:00
Devang Patel
86dff8f8be
New test.
...
llvm-svn: 40023
2007-07-18 23:47:02 +00:00
Chris Lattner
d8bdf53335
rename function to avoid llvm-upgrade warning
...
llvm-svn: 39895
2007-07-16 04:09:00 +00:00
Chris Lattner
d4fef8dbca
Implement shift-simplify.ll:test[45].
...
First teach instcombine that sign bit checks only demand the
sign bit, this allows simplify demanded bits to hack on
expressions better.
Second, teach instcombine that ashr is useless if only the
sign bit is demanded.
llvm-svn: 39880
2007-07-15 20:54:51 +00:00
Chris Lattner
06205d5567
Implement shift-simplify.ll:test3, turning:
...
(X << 31) <s 0 --> (X&1) != 0
This happens dozens of times in the CFE.
llvm-svn: 39879
2007-07-15 20:42:37 +00:00
Devang Patel
52c2dd4699
New test.
...
llvm-svn: 39768
2007-07-11 23:54:25 +00:00
Owen Anderson
8b99e0ab20
Fix an error where ANTIC_OUT was ending up with more than one expression of
...
the same value number. This fixes an infinite loop on 444.namd.
llvm-svn: 37967
2007-07-07 20:13:57 +00:00
Owen Anderson
02e9698293
Fix a bunch of issues found in a testcase from 400.perlbench.
...
llvm-svn: 37929
2007-07-05 23:11:26 +00:00
Owen Anderson
ca1a184fd8
Fix another bug, this time in PREing select instructions.
...
llvm-svn: 37878
2007-07-04 22:33:23 +00:00
Owen Anderson
cd94fc982a
Fix a typo that was killing GVNPRE of select instructions.
...
llvm-svn: 37871
2007-07-04 18:26:18 +00:00
Owen Anderson
664e260a9c
Fix an error in phi translation of GEPs that was causing failures.
...
llvm-svn: 37868
2007-07-04 04:51:16 +00:00
Owen Anderson
2e4b6feac2
Add support for performing GVNPRE on GEP instructions.
...
llvm-svn: 37862
2007-07-03 23:51:19 +00:00
Owen Anderson
59bd053fc5
Add support for performing GVNPRE on cast instructions, and add a testcase for this.
...
llvm-svn: 37856
2007-07-03 18:37:08 +00:00
Zhou Sheng
bf61346b1c
Test case for recent patch for IndVarSimplify.cpp
...
llvm-svn: 37838
2007-07-02 08:02:14 +00:00
John Criswell
2660cef6d7
Convert .cvsignore files
...
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Owen Anderson
d630147c44
Add a test for performing GVNPRE on select instructions.
...
llvm-svn: 37782
2007-06-28 23:50:31 +00:00
Owen Anderson
43790570ad
Add tests for performing GVNPRE on the three vector-specific instructions.
...
llvm-svn: 37744
2007-06-27 04:06:32 +00:00
Chris Lattner
b2a9048dc4
new testcase, the inliner shouldn't inline this.
...
llvm-svn: 37722
2007-06-25 21:49:53 +00:00
Owen Anderson
bfd1673366
Rename variables to expose the fact that this test is failing.
...
llvm-svn: 37711
2007-06-24 08:17:41 +00:00
Chris Lattner
181ebd6f88
new testcase miscompiled by instcombine, reduced from perl
...
llvm-svn: 37691
2007-06-21 18:09:25 +00:00
Owen Anderson
0b7c12be82
Testcase for instances where a constant only occurs as an operand to a phi node.
...
llvm-svn: 37653
2007-06-19 05:55:01 +00:00
Owen Anderson
3552c9e845
Add a new testcase for memory corruption issues.
...
llvm-svn: 37648
2007-06-19 05:41:22 +00:00
Owen Anderson
d2028a549f
Testcase where GVNPRE was getting confused by invoke instructions.
...
llvm-svn: 37609
2007-06-16 00:25:10 +00:00
Owen Anderson
ad9743225e
Add a testcase where GVNPRE what getting confused by a loop.
...
llvm-svn: 37594
2007-06-15 17:54:05 +00:00
Chris Lattner
9923af42cf
add vector versions of this test
...
llvm-svn: 37588
2007-06-15 06:22:32 +00:00
Chris Lattner
a8de4cccd9
testcase for PR1510
...
llvm-svn: 37583
2007-06-15 05:57:20 +00:00
Owen Anderson
b1c82db828
Add a test where phi translation was producing a null result.
...
llvm-svn: 37563
2007-06-12 22:42:35 +00:00
Owen Anderson
6d1df658c0
Testcase where GVNPRE crashes on functions with no exit nodes.
...
llvm-svn: 37555
2007-06-12 16:56:00 +00:00
Owen Anderson
3c0c1376ea
Make the run line for this test correct. Thanks to Chris for spotting it.
...
llvm-svn: 37552
2007-06-12 04:40:48 +00:00
Owen Anderson
ee35eab57f
Add a GVN-PRE basic regression test.
...
llvm-svn: 37549
2007-06-12 00:49:33 +00:00
Tanya Lattner
cb90f1d881
Instruct the inliner to obey the noinline attribute. Add test case.
...
llvm-svn: 37481
2007-06-06 21:59:26 +00:00
Lauro Ramos Venancio
be59acbfcc
Add a test for PR1499.
...
llvm-svn: 37473
2007-06-06 17:10:02 +00:00
Nick Lewycky
3b70bb2778
new testcase for PR1487
...
llvm-svn: 37458
2007-06-06 04:11:21 +00:00
Chris Lattner
084c20fcc0
new testcase for PR1491
...
llvm-svn: 37422
2007-06-04 22:23:17 +00:00
Chris Lattner
ed24b3b2fa
Testcase for PR1421
...
llvm-svn: 37357
2007-05-30 06:10:46 +00:00
Chris Lattner
49a34fcca7
testcase for PR1446
...
llvm-svn: 37325
2007-05-24 18:42:47 +00:00
Chris Lattner
e44b6a6aaf
new testcase for PR1435
...
llvm-svn: 37304
2007-05-23 06:35:52 +00:00
Chris Lattner
faa31904e4
new testcase
...
llvm-svn: 37255
2007-05-19 06:50:37 +00:00
Dan Gohman
6164a1b279
Add a testcase for unrolling loops with unknown tripcounts.
...
llvm-svn: 37238
2007-05-18 19:59:23 +00:00
Devang Patel
f9ed308aba
New test.
...
llvm-svn: 37184
2007-05-17 22:05:20 +00:00
Chris Lattner
120548e508
New testcase that crashes instcombine
...
llvm-svn: 37056
2007-05-15 00:15:49 +00:00
Chris Lattner
3b4ae44057
this crashes globalopt
...
llvm-svn: 37021
2007-05-13 21:28:25 +00:00
Chris Lattner
b6d85ad1e1
new testcase that crashes instcombine
...
llvm-svn: 36983
2007-05-11 05:55:38 +00:00
Devang Patel
d385e3970f
Drop ModuleID from comment.
...
llvm-svn: 36982
2007-05-11 00:45:58 +00:00
Devang Patel
00a08d129e
New test.
...
llvm-svn: 36954
2007-05-09 08:19:24 +00:00
Devang Patel
519f2997cc
New test.
...
llvm-svn: 36953
2007-05-09 08:08:46 +00:00
Chris Lattner
75d56499c6
add the & back. I'm not sure why bill removed it.
...
llvm-svn: 36945
2007-05-08 20:08:06 +00:00
Bill Wendling
0c976b8762
Spare '&' in the RUN line.
...
llvm-svn: 36933
2007-05-08 07:49:07 +00:00
Chris Lattner
e8f14fb4cd
this test is now in Target/README.txt
...
llvm-svn: 36812
2007-05-05 22:44:27 +00:00
Chris Lattner
2601579ec9
remove an old xfailed test
...
llvm-svn: 36810
2007-05-05 22:42:02 +00:00
Chris Lattner
3dde023021
un-xfail this.
...
llvm-svn: 36808
2007-05-05 22:41:13 +00:00
Chris Lattner
df37169381
move these xfailed tests to lib/Target/README.txt
...
llvm-svn: 36805
2007-05-05 22:28:33 +00:00
Chris Lattner
4dc9a76ad8
Move Mem2Reg/DifferingTypes.ll -> ScalarRepl/DifferingTypes.ll. -scalarrepl
...
implements this xform.
llvm-svn: 36804
2007-05-05 22:22:03 +00:00
Chris Lattner
c103b49f52
remvoe two tests that cee has never gotten right
...
llvm-svn: 36803
2007-05-05 22:19:49 +00:00
Chris Lattner
580d824e5d
new testcase for PR1385
...
llvm-svn: 36783
2007-05-05 18:48:52 +00:00
Chris Lattner
8b332d32be
new testacse for PR1384
...
llvm-svn: 36774
2007-05-05 01:59:05 +00:00
Chris Lattner
193d2f09f0
update syntax
...
llvm-svn: 36531
2007-04-28 06:03:12 +00:00
Chris Lattner
1df6c1c5b0
new testcase
...
llvm-svn: 36520
2007-04-28 00:54:45 +00:00
Chris Lattner
7ebda6ba37
new testcase, should be able to eliminate the alloca and memcpy
...
llvm-svn: 36428
2007-04-25 06:29:34 +00:00
Devang Patel
cbb4994f6b
New test.
...
llvm-svn: 36379
2007-04-23 22:39:53 +00:00
Reid Spencer
4388f0b4fa
For PR1146:
...
Make ParamAttrsList objects unique. You can no longer directly create or
destroy them but instead must go through the ParamAttrsList::get()
interface.
llvm-svn: 36327
2007-04-22 05:46:44 +00:00
Reid Spencer
2bb29e778a
Add a .cvsignore file.
...
llvm-svn: 36323
2007-04-21 21:53:04 +00:00
Devang Patel
74ede29a27
Add PR number for reference.
...
llvm-svn: 36184
2007-04-16 23:52:37 +00:00
Devang Patel
369bec184b
New test case.
...
llvm-svn: 36181
2007-04-16 23:02:22 +00:00
Reid Spencer
8c756a9ded
Fix this test from Duncan's experiment.
...
llvm-svn: 36176
2007-04-16 21:57:14 +00:00
Chris Lattner
6d9b520091
fix incorrectly upgraded test
...
llvm-svn: 36169
2007-04-16 21:24:14 +00:00
Reid Spencer
6e87ec4351
For PR1319:
...
Remove && from the end of the lines to prevent tests from throwing run
lines into the background. Also, clean up places where the same command
is run multiple times by using a temporary file.
llvm-svn: 36142
2007-04-16 17:36:08 +00:00
Reid Spencer
4dcf8bff4b
For PR1319:
...
Fix syntax of tests to ensure grep pattern is properly quoted.
llvm-svn: 36134
2007-04-16 15:31:49 +00:00
Reid Spencer
86f337eeda
For PR1319:
...
Fix test syntax per new rules.
llvm-svn: 36133
2007-04-16 15:15:52 +00:00
Reid Spencer
caaf8a1597
For PR1336:
...
Un-XFAIL this since it now passes with fix to llvm-upgrade.
llvm-svn: 36104
2007-04-16 02:57:47 +00:00
Reid Spencer
2875d2eadc
For PR1336:
...
Correct this test case. It was passing a uint where a ubyte was expected.
llvm-svn: 36101
2007-04-16 02:09:24 +00:00
Reid Spencer
f0cb944fd3
For PR1336:
...
Un-XFAIL this now that its working.
llvm-svn: 36100
2007-04-16 01:49:16 +00:00
Reid Spencer
6584cf60f2
For PR1336:
...
XFAIL tests covered by the PR. These will be un-XFAILed as they are fixed.
llvm-svn: 36093
2007-04-15 23:00:46 +00:00
Chris Lattner
d3fd9ecb2d
testcase for PR1335
...
llvm-svn: 36089
2007-04-15 21:37:53 +00:00
Reid Spencer
a551c041f9
For PR1319:
...
Upgrade to use new Tcl exec based test harness. This exposes 3 bugs that
were previously not being reported:
test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll
test/Transforms/GlobalOpt/memset.ll
test/Transforms/IndVarsSimplify/exit_value_tests.llx
llvm-svn: 36065
2007-04-15 09:21:47 +00:00
Reid Spencer
951d8dc29f
For PR1319:
...
Upgrade to use new Tcl exec based test harness.
llvm-svn: 36062
2007-04-15 08:30:33 +00:00
Reid Spencer
8eba4c3d12
For PR1319:
...
Convert to use the new Tcl expr based test harness.
llvm-svn: 36061
2007-04-15 08:01:33 +00:00
Reid Spencer
ede8c3b92c
For PR1319:
...
Make use of the END. facility on all files > 1K so that we aren't wasting CPU
cycles searching for RUN: lines that we'll never find.
llvm-svn: 36059
2007-04-15 07:38:21 +00:00
Reid Spencer
1114b48736
Fix this test in a slightly more obvious way.
...
llvm-svn: 36058
2007-04-15 07:37:04 +00:00
Reid Spencer
8d9056c56c
For PR1319:
...
Upgrade to use new Tcl exec based test harness
llvm-svn: 36055
2007-04-15 06:53:51 +00:00
Reid Spencer
7b78d371a6
Use %prcontext, $prcontext is not resolving for some reason.
...
llvm-svn: 36054
2007-04-15 06:52:45 +00:00
Reid Spencer
63fc5df7ba
PR1319:
...
Upgrade tests to new Tcl exec based test harness requirements.
llvm-svn: 36053
2007-04-15 06:51:14 +00:00
Zhou Sheng
8e58ad31ae
This test case is incorrect. Remove it.
...
llvm-svn: 36048
2007-04-15 05:59:49 +00:00
Reid Spencer
ae81c8880a
For PR1319:
...
Convert to new test system. This exposes IsDigit.ll as failing.
llvm-svn: 36046
2007-04-15 05:16:38 +00:00
Reid Spencer
5374aeae70
For PR1319:
...
Conver to new test system.
llvm-svn: 36045
2007-04-15 05:03:58 +00:00
Reid Spencer
d025c07cce
Keep lines a reasonable length.
...
llvm-svn: 36043
2007-04-15 04:54:53 +00:00
Jeff Cohen
610e1240ed
Patch supplied by gabor.
...
llvm-svn: 36042
2007-04-15 03:09:23 +00:00
Chris Lattner
efcb4f6ed4
new testcase
...
llvm-svn: 36039
2007-04-15 01:00:37 +00:00
Owen Anderson
0f6ccef96c
XFAIL this for now.
...
llvm-svn: 36036
2007-04-14 23:57:41 +00:00
Reid Spencer
f70b8e5d79
Oops. A little aggressive on the name changes there.
...
llvm-svn: 36029
2007-04-14 23:17:58 +00:00
Reid Spencer
bc7533c140
For PR1913:
...
Convert to new test system. This exposes test/Transforms/ConstProp/calls.ll
llvm-svn: 36027
2007-04-14 23:04:54 +00:00
Chris Lattner
45ab14d084
new testcase
...
llvm-svn: 36024
2007-04-14 23:00:51 +00:00
Reid Spencer
cfe6e77e7b
For PR1319:
...
Convert to new test system.
llvm-svn: 36023
2007-04-14 22:54:01 +00:00
Reid Spencer
3fc53d6c53
Changes to fix problems with "make check". Apparently you can redefine
...
functions and Tcl's just tickled with that. The fix is to give the "new"
test system a different interface function name.
llvm-svn: 36022
2007-04-14 22:51:29 +00:00
Chris Lattner
8a08819105
manually upgrade test. Add a new test2. I have no way to see if this works
...
because of the tclification. :(
llvm-svn: 36019
2007-04-14 22:27:33 +00:00
Reid Spencer
af1a99f3a7
This test should have been updated with llvm 1.7!
...
llvm-svn: 36014
2007-04-14 20:21:37 +00:00
Reid Spencer
91948d4cad
For PR1319:
...
Upgrade tests to work with new llvm.exp version of llvm_runtest.
llvm-svn: 36013
2007-04-14 20:13:02 +00:00
Reid Spencer
be88bc4cb4
This test needs to use egrep.
...
llvm-svn: 36012
2007-04-14 20:02:51 +00:00
Reid Spencer
2441c0ae3e
Fix a test test llvm.exp found.
...
llvm-svn: 36006
2007-04-14 18:33:31 +00:00
Reid Spencer
7e4bde71c5
bool -> i1 (found by llvm.exp)
...
llvm-svn: 36005
2007-04-14 18:30:06 +00:00
Reid Spencer
26f762270f
Fix a syntax error that llvm.exp found.
...
llvm-svn: 36004
2007-04-14 18:28:16 +00:00
Reid Spencer
0c0fe0afa7
Fix an "already-upgraded" test that llvm.exp found.
...
llvm-svn: 36003
2007-04-14 18:26:02 +00:00
Chris Lattner
ebf3cfccdb
new testcase
...
llvm-svn: 35983
2007-04-14 01:17:38 +00:00
Chris Lattner
a930c3d4e4
testcase for PR1201
...
llvm-svn: 35980
2007-04-14 00:19:36 +00:00
Reid Spencer
9f9fe70b11
Add the SCCP regression tests for APInt expressions. These test cases
...
turned up some regressions that have since been fixed. We don't want to
loose the regression tests.
Test cases by Guoling Han.
llvm-svn: 35974
2007-04-13 22:33:10 +00:00
Reid Spencer
8e25101211
The "implementation" keyword is no more!
...
llvm-svn: 35919
2007-04-11 20:06:03 +00:00
Reid Spencer
d029c7e666
Make the llvm-runtest function much more amenable by eliminating all the
...
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.
llvm-svn: 35918
2007-04-11 19:56:59 +00:00
Chris Lattner
45ae13bb41
adjust test
...
llvm-svn: 35907
2007-04-11 16:04:04 +00:00
Chris Lattner
81f14c63da
sext of compares.
...
llvm-svn: 35892
2007-04-11 06:57:54 +00:00
Chris Lattner
764ec15b3f
new testcase
...
llvm-svn: 35889
2007-04-11 06:52:24 +00:00
Devang Patel
d284fd1145
Add test case for PR 1154.
...
llvm-svn: 35865
2007-04-10 16:57:08 +00:00
Chris Lattner
ec0020433b
new testcase
...
llvm-svn: 35851
2007-04-09 23:51:49 +00:00
Devang Patel
4ccfdd7465
Add check for opt crash.
...
llvm-svn: 35849
2007-04-09 23:40:15 +00:00
Devang Patel
5391501f05
Add Loop Rotate test cases.
...
llvm-svn: 35838
2007-04-09 22:22:42 +00:00
Chris Lattner
e04c652f5d
new testcase for PR1304
...
llvm-svn: 35791
2007-04-09 01:37:35 +00:00
Chris Lattner
418bf4eb1c
new testcase for PR1286
...
llvm-svn: 35787
2007-04-09 01:10:13 +00:00
Chris Lattner
659ff4ca8d
this xform is correct, not an xfail
...
llvm-svn: 35766
2007-04-08 08:02:39 +00:00
Chris Lattner
b79728b1ae
tweak this to test the right thing.
...
llvm-svn: 35762
2007-04-08 07:52:40 +00:00
Chris Lattner
8ca3d48984
new testcase, should simplify down to a xor/and/xor sequence.
...
llvm-svn: 35759
2007-04-08 07:45:36 +00:00
Chris Lattner
3dc477d5e3
testcase for PR1307
...
llvm-svn: 35705
2007-04-06 23:36:59 +00:00
Chris Lattner
992b451e33
new testcase, update old one.
...
llvm-svn: 35699
2007-04-06 18:56:54 +00:00
Chris Lattner
cf1f986099
new testcase that crashes globalopt
...
llvm-svn: 35688
2007-04-05 21:09:29 +00:00
Jeff Cohen
9da1cde86c
Any add is wrong, regardless of type.
...
llvm-svn: 35671
2007-04-04 20:40:44 +00:00
Jeff Cohen
62c300a415
Get it right...
...
llvm-svn: 35670
2007-04-04 20:35:31 +00:00
Dale Johannesen
9234629e60
Test for transformConstExprCastCall fix.
...
llvm-svn: 35669
2007-04-04 19:18:16 +00:00
Jeff Cohen
6f98cd3710
Add new test.
...
llvm-svn: 35664
2007-04-04 16:11:23 +00:00
Chris Lattner
d4594adf43
new testcase for PR1253
...
llvm-svn: 35611
2007-04-03 01:45:32 +00:00
Chris Lattner
a7152a90d1
fix this testcase so it passes
...
llvm-svn: 35604
2007-04-02 20:46:28 +00:00
Chris Lattner
2d81c6d706
creative way to add one.
...
llvm-svn: 35583
2007-04-02 05:35:08 +00:00
Reid Spencer
e51961b5ba
Fix illegal assembly syntax.
...
llvm-svn: 35581
2007-04-02 03:24:47 +00:00
Reid Spencer
a3bc850712
Add a test case to make sure that constant folding of the bit counting
...
intrinsics works.
llvm-svn: 35577
2007-04-02 01:45:31 +00:00
Reid Spencer
a5f996bd27
Revert the name changes for llvm.bswap to allow (and test) llvm-upgrade of
...
this intrinsic.
llvm-svn: 35566
2007-04-02 00:51:15 +00:00
Reid Spencer
c3d87685ad
For PR1297:
...
Update these test cases to use proper signatures for bswap which is now
and overloaded intrinsic. Its name must be of the form llvm.bswap.i32.i32
since both the parameter and the result or of type "iAny". Also, the
bit counting intrinsics changed to always return i32.
llvm-svn: 35548
2007-04-01 07:36:28 +00:00
Chris Lattner
9729bdd8e3
New testcase
...
llvm-svn: 35535
2007-04-01 05:34:53 +00:00
Reid Spencer
44259a29c0
Remove use of implementation keyword.
...
llvm-svn: 35412
2007-03-28 02:38:26 +00:00
Chris Lattner
4ba1036a34
don't use 'not' when we can use a positive test
...
llvm-svn: 35402
2007-03-28 01:43:43 +00:00
Reid Spencer
90bb12c2e7
new test case for PR1280
...
llvm-svn: 35401
2007-03-28 01:43:35 +00:00
Reid Spencer
94a8cb4b4e
For PR1280:
...
Remove test cases for and/xor/add -> trunc/sext that use bit widths that
the targets cannot code gen.
llvm-svn: 35399
2007-03-28 01:35:28 +00:00
Chris Lattner
4776ebc195
new testcase
...
llvm-svn: 35397
2007-03-28 01:31:33 +00:00
Reid Spencer
e01d0e8c39
Another test case for PR1271 where bad shift masks were generated.
...
llvm-svn: 35372
2007-03-26 23:48:52 +00:00
Reid Spencer
d9fe01c7a4
Fix this test case to match output after a bug was fixed.
...
llvm-svn: 35359
2007-03-26 18:04:38 +00:00
Duncan Sands
820ae03fda
Fix testsuite hang.
...
llvm-svn: 35355
2007-03-26 10:59:13 +00:00
Reid Spencer
0bfa19eb13
Test case for PR1271 involving construction of a bad mask to replace a
...
shift instruction.
llvm-svn: 35349
2007-03-26 05:32:16 +00:00
Reid Spencer
726b0a7fa4
Add a test case for PR1271 (necessary, but not sufficient).
...
llvm-svn: 35343
2007-03-25 21:30:41 +00:00
Chris Lattner
f323838c4c
new testcase
...
llvm-svn: 35340
2007-03-25 20:42:40 +00:00
Reid Spencer
e3d00119e6
Remove the last vestiges of this directory.
...
llvm-svn: 35309
2007-03-24 23:07:49 +00:00
Reid Spencer
562b715dd1
Add more test cases for APIntified InstCombine.
...
llvm-svn: 35288
2007-03-23 21:57:47 +00:00
Reid Spencer
ea8b07ee6b
Add test case for testing InstCombine with arbitrary precision integer
...
types. These tests mimic the integer test cases in the normal InstCombine
test suite but use "strange" integer bit widths.
Most tests written by Zhou Sheng, a few by me.
llvm-svn: 35284
2007-03-23 20:48:34 +00:00
Reid Spencer
02b0b57101
Make this test actually match the generated code.
...
llvm-svn: 35263
2007-03-22 02:53:05 +00:00
Reid Spencer
fa9925e263
Test case for PR1248
...
llvm-svn: 35251
2007-03-22 00:49:40 +00:00
Reid Spencer
09f4eb1098
Make this test a little simpler/faster.
...
llvm-svn: 35193
2007-03-19 23:36:19 +00:00
Reid Spencer
eb0a221186
Add test case for PR1261, currently XFAILed.
...
llvm-svn: 35192
2007-03-19 23:28:16 +00:00
Reid Spencer
7953b683fc
For PR1258:
...
Revise numeric value references to accommodate collapsed type planes.
llvm-svn: 35170
2007-03-19 18:27:35 +00:00
Chris Lattner
50fce05a21
add a testcase the resent patches fail on.
...
llvm-svn: 35167
2007-03-19 18:25:48 +00:00
Chris Lattner
23dd31a3af
add PR#
...
llvm-svn: 35151
2007-03-19 00:17:19 +00:00
Chris Lattner
dcd44dbbb0
add pr#
...
llvm-svn: 35149
2007-03-19 00:15:43 +00:00
Chris Lattner
ee3c5d1b78
new testcase
...
llvm-svn: 35148
2007-03-19 00:11:30 +00:00
Chris Lattner
2c0f36bc39
testcase for SROA with memset etc
...
llvm-svn: 35147
2007-03-19 00:09:00 +00:00
Chris Lattner
1ada0693ab
new testcase
...
llvm-svn: 35144
2007-03-18 22:50:57 +00:00
Nick Lewycky
17d20fd41e
Propagate ValueRanges across equality.
...
Add some more micro-optimizations: x * 0 = 0, a - x = a --> x = 0.
llvm-svn: 35138
2007-03-18 01:09:32 +00:00
Chris Lattner
091e75bbde
testcase for PR1244
...
llvm-svn: 35081
2007-03-13 14:25:35 +00:00
Anton Korobeynikov
8a6dc102d3
Use range tests in LowerSwitch, where possible
...
llvm-svn: 35057
2007-03-10 16:46:28 +00:00
Reid Spencer
509acc186e
Add a test case for a particular udiv/select transform.
...
llvm-svn: 34935
2007-03-05 22:51:08 +00:00
Chris Lattner
3a8b0c7607
new testcase
...
llvm-svn: 34918
2007-03-05 00:01:38 +00:00
Chris Lattner
dd3f9f8c3b
New testcases for PR1179/PR1232.
...
llvm-svn: 34895
2007-03-04 00:54:06 +00:00
Chris Lattner
05e93d7f05
new testcase: instcombine should remove all the casts.
...
llvm-svn: 34869
2007-03-03 05:24:06 +00:00
Chris Lattner
c1991789c5
instcombine doesn't do CSE, simplify unrelated detail
...
llvm-svn: 34867
2007-03-03 02:27:02 +00:00
Chris Lattner
49c505c6e6
new testcase. @foo should be marked fastcc by globalopt
...
llvm-svn: 34607
2007-02-25 21:04:39 +00:00
Chris Lattner
3b7c905437
testcase for pr1215
...
llvm-svn: 34547
2007-02-24 01:16:39 +00:00
Chris Lattner
3fec2056a4
testcase for pr1217
...
llvm-svn: 34545
2007-02-24 01:03:11 +00:00
Chris Lattner
83908e664f
fix this testcase
...
llvm-svn: 34530
2007-02-23 19:39:24 +00:00
Andrew Lenharth
f7a5332b53
missed cast elimination
...
llvm-svn: 34490
2007-02-22 15:17:45 +00:00
Reid Spencer
d84d35ba70
For PR1195:
...
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
2007-02-15 02:26:10 +00:00
Chris Lattner
682918f99b
update to new t-d strings.
...
llvm-svn: 34290
2007-02-15 00:54:16 +00:00
Andrew Lenharth
15a3af28d7
This really only affects pointers in high memory, and only llvm 1.9, but make a regression for it anyway
...
llvm-svn: 34014
2007-02-07 22:23:47 +00:00
Chris Lattner
dd602bcd08
Testcase for a bug responsible for GCC bootstrap failure, fallout from PR411.
...
llvm-svn: 34004
2007-02-07 19:28:52 +00:00
Chris Lattner
ecb38495af
Testcase for miscompilation
...
llvm-svn: 33947
2007-02-06 02:22:37 +00:00
Reid Spencer
3aaaa0b2bd
For PR411:
...
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
llvm-svn: 33918
2007-02-05 20:47:22 +00:00
Reid Spencer
cb4d3f2902
Prepare for PR411
...
llvm-svn: 33865
2007-02-04 02:11:13 +00:00
Reid Spencer
8de97bba5a
For PR1072:
...
Removing -raise has neglible positive or negative side effects so we are
opting to remove it. See the PR for comparison details.
llvm-svn: 33844
2007-02-03 23:15:56 +00:00
Reid Spencer
2341c22ec7
Changes to support making the shift instructions be true BinaryOperators.
...
This feature is needed in order to support shifts of more than 255 bits
on large integer types. This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
shl i32 %X, 1
instead of
shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.
llvm-svn: 33776
2007-02-02 02:16:23 +00:00
Chris Lattner
9a677c585c
new testcase for serious code pessimization
...
llvm-svn: 33770
2007-02-01 22:29:26 +00:00
Reid Spencer
af6a408117
For PR411:
...
Update these tests to not use the same name even though the type of the
value differs. After PR411 hits, type planes will be gone and it will be
illegal for a name to be used twice, regardless of type.
llvm-svn: 33660
2007-01-30 16:16:01 +00:00
Chris Lattner
d50698107e
Testcase for an instcombine miscompilation reduced by Anton.
...
llvm-svn: 33590
2007-01-27 23:07:12 +00:00
Reid Spencer
ce380568b5
For PR761:
...
Remove "target endian/pointersize" or add "target datalayout" to make
the test parse properly or set the datalayout because defaults changes.
For PR645:
Make global names use the @ prefix.
For llvm-upgrade changes:
Fix test cases or completely remove use of llvm-upgrade for test cases
that cannot survive the new renaming or upgrade capabilities.
llvm-svn: 33533
2007-01-26 08:25:06 +00:00
Chris Lattner
c8dc67c2da
remove an execution test from llvm/test
...
llvm-svn: 33344
2007-01-18 22:24:04 +00:00
Chris Lattner
bb4e2a547f
new testcase that causes instcombine to infinitely loop
...
llvm-svn: 33342
2007-01-18 22:16:03 +00:00
Reid Spencer
83b3d82672
Regression is gone, don't try to find it on clean target.
...
llvm-svn: 33296
2007-01-17 07:59:14 +00:00