Chris Lattner [Sun, 6 Mar 2005 22:24:45 +0000 (22:24 +0000)]
cleanup the test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20504
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 22:23:31 +0000 (22:23 +0000)]
check that we only insert one phi node per loop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20503
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 22:15:24 +0000 (22:15 +0000)]
Add testcase for this:
(3) Do not reduce element sizes of small power of two:
char s[10];
for (i)
...s[i] ...
when the indvar is not eliminable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20502
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 22:06:22 +0000 (22:06 +0000)]
implement Transforms/LoopStrengthReduce/invariant_value_first_arg.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20501
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 22:06:09 +0000 (22:06 +0000)]
testcase for A[invariant][indvar] where invariant is an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20500
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 22:04:27 +0000 (22:04 +0000)]
add test for this:
(1) Allow loop invariant expressions to come before the induction variable (instead of just
constants):
int x;
for (i)
...a[x][i]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20499
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 22:01:42 +0000 (22:01 +0000)]
Add test for this:
Allow operands after the induction variable (no restrictions):
int x;
for (i)
j = .....
a[i][x][j]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20498
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 21:58:22 +0000 (21:58 +0000)]
minor simplifications of the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20497
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 21:47:40 +0000 (21:47 +0000)]
a regtest
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20496
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 21:42:59 +0000 (21:42 +0000)]
new directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 21:35:38 +0000 (21:35 +0000)]
trivial simplification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20494
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 20:57:32 +0000 (20:57 +0000)]
Fix a bug where we could corrupt a parent loop's header info if we unrolled
a nested loop. This fixes Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll
and PR532
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20493
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 20:56:55 +0000 (20:56 +0000)]
New testcase for PR532
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20492
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 20:55:34 +0000 (20:55 +0000)]
new helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20491
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 19:40:19 +0000 (19:40 +0000)]
new testcase reduced from the MultiSource/Applications/d failure last night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 06:03:44 +0000 (06:03 +0000)]
move some method declarations around to make it clear that users should
not call insert(Value *Val), remove(Value* Val), or
changeName(Value *V, const std::string &Name)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20488
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 06:00:24 +0000 (06:00 +0000)]
this method is never called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20487
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 06:00:13 +0000 (06:00 +0000)]
cleanup some html
remove a statement that is no longer true
remove comment about a dead method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20486
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:56:02 +0000 (05:56 +0000)]
the only caller of insertEntry is insert, inline it and remove insertEntry
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20485
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:55:40 +0000 (05:55 +0000)]
rename insertEntry to insert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20484
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:51:09 +0000 (05:51 +0000)]
Merge SymbolTable::removeEntry into SymbolTable::remove, its only caller
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20483
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:50:49 +0000 (05:50 +0000)]
remove this method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20482
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:46:41 +0000 (05:46 +0000)]
Delete the really inefficient method: void remove(const Type* Typ);
Speed up the symbol stripping code by avoiding a linear search of the
type table.
Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20481
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:46:00 +0000 (05:46 +0000)]
Delete the really inefficient method: void remove(const Type* Typ);
Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20480
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:42:36 +0000 (05:42 +0000)]
Make this MUCH faster by avoiding a linear search in the symbol table code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:22:05 +0000 (05:22 +0000)]
InternallyInconsistent is dead!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:21:40 +0000 (05:21 +0000)]
Remove some really gross and hard to understand code now that
InternallyInconsistent is always false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20477
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 05:13:42 +0000 (05:13 +0000)]
Simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20476
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 02:38:24 +0000 (02:38 +0000)]
remove these dead methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20475
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 02:37:47 +0000 (02:37 +0000)]
remove these methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20474
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 02:37:21 +0000 (02:37 +0000)]
These methods are removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20473
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 02:32:00 +0000 (02:32 +0000)]
simplify and speed up some code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20472
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 02:28:23 +0000 (02:28 +0000)]
simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20471
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 02:25:02 +0000 (02:25 +0000)]
nuke some dead methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20470
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 02:14:28 +0000 (02:14 +0000)]
This fixes PR531, a crash when running the CBE on a bytecode file.
The problem is that Function::renameLocalSymbols is iterating through
the symbol table planes, occasionally calling setName to rename a value
(which used to do a symbol table remove/insert pair).
The problem is that if there is only a single value in a particular type
plane that the remove will nuke the symbol table plane, and the insert
will create and insert a new one. This hoses Function::renameLocalSymbols
because it has an iterator to the old plane, under the (very reasonable)
assumption that simply renaming a value won't cause the type plane to
disappear.
This patch fixes the bug by making the rename operation a single atomic
operation, which has a side effect of making the whole thing faster too. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20469
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 Mar 2005 02:10:40 +0000 (02:10 +0000)]
Add a new method, allow symtab to poke name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20468
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 5 Mar 2005 22:45:40 +0000 (22:45 +0000)]
Reformat comments to fix 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20467
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 5 Mar 2005 22:40:34 +0000 (22:40 +0000)]
Reuse induction variables created for strength-reduced GEPs by other similar GEPs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20466
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 19:58:40 +0000 (19:58 +0000)]
remove extraneous spaces from argument lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20465
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 19:51:50 +0000 (19:51 +0000)]
remove all of the various setName implementations, consolidating them into
Value::setName, which is no longer virtual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20464
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 19:05:20 +0000 (19:05 +0000)]
second argument to Value::setName is now gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20463
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 19:04:31 +0000 (19:04 +0000)]
Make sure the two arguments of a setcc instruction point to the same node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20462
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 19:04:07 +0000 (19:04 +0000)]
zap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20461
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 19:02:15 +0000 (19:02 +0000)]
2nd arg to setName goes away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20460
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 19:01:59 +0000 (19:01 +0000)]
Constants never get names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20459
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 19:01:49 +0000 (19:01 +0000)]
Remove the 2nd argument to Value::setName
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20458
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 18:59:36 +0000 (18:59 +0000)]
Remove the second argument to Value::setName, it is never needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20457
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 18:47:28 +0000 (18:47 +0000)]
New testcase for PR533
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20456
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 17:47:38 +0000 (17:47 +0000)]
don't break the build on 32-bit hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20455
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 Mar 2005 17:28:37 +0000 (17:28 +0000)]
This file is all commented out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20454
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 5 Mar 2005 15:30:33 +0000 (15:30 +0000)]
fix data size stuff for architectures with bit challenged data types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20453
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Mar 2005 23:21:33 +0000 (23:21 +0000)]
Do not compute 1ULL << 64, which is undefined. This fixes Ptrdist/ks on the
sparc, and testcase Regression/Transforms/InstCombine/2005-03-04-ShiftOverflow.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20445
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Mar 2005 23:20:46 +0000 (23:20 +0000)]
Testcase for a bug that caused us to miscompile ptrdist/ks on sparc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20444
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 4 Mar 2005 21:40:02 +0000 (21:40 +0000)]
fix up stack pointer adjustments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20442
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 Mar 2005 20:27:46 +0000 (20:27 +0000)]
Trivial cleanup patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20436
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 4 Mar 2005 20:09:23 +0000 (20:09 +0000)]
fix FCMOVxx typo, set rem and div to hardcode target reg to be the same as the one the assembler uese, update ISel to put values in regs used by assembler for rem and div
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20434
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 4 Mar 2005 04:04:26 +0000 (04:04 +0000)]
Add support for not strength reducing GEPs where the element size is a small
power of two. This emphatically includes the zeroeth power of two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20429
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 3 Mar 2005 22:12:11 +0000 (22:12 +0000)]
turn on IEEE for compares
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20425
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 3 Mar 2005 21:47:53 +0000 (21:47 +0000)]
beter Select on FP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20424
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Mar 2005 21:12:04 +0000 (21:12 +0000)]
Print -X like this:
double test(double l1_X) {
return (-l1_X);
}
instead of like this:
double test(double l1_X) {
return (-0x0p+0 - l1_X);
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20423
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Thu, 3 Mar 2005 19:03:21 +0000 (19:03 +0000)]
LSR cleanup patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20422
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Mar 2005 01:04:50 +0000 (01:04 +0000)]
Do not lower malloc's to pass "sizeof" expressions like this:
ltmp_0_7 = malloc(((unsigned )(&(((signed char (*)[784])/*NULL*/0)[1u]))));
Instead, just emit the literal constant, like this:
ltmp_0_7 = malloc(784u);
This works around a bug in ICC 8.1 compiling the CBE generated code. :-(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20415
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Mar 2005 01:03:43 +0000 (01:03 +0000)]
Add an optional argument to lower to a specific constant value instead of
to a "sizeof" expression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20414
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 3 Mar 2005 01:03:10 +0000 (01:03 +0000)]
Add an argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20413
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 2 Mar 2005 23:17:31 +0000 (23:17 +0000)]
Fix the spelling of the word `the'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20412
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Mar 2005 23:12:40 +0000 (23:12 +0000)]
Print the module ID as a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20411
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Mar 2005 21:56:00 +0000 (21:56 +0000)]
cleanup the cfg after lsr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20410
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 2 Mar 2005 17:23:03 +0000 (17:23 +0000)]
remove 32 sign extend after 32 sextload and handle small negative constant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20408
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 2 Mar 2005 17:21:38 +0000 (17:21 +0000)]
Added LSR as a beta pass for alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Mar 2005 06:19:22 +0000 (06:19 +0000)]
Add a temporary option for llc-beta: -enable-lsr-for-ppc, which turns on
Loop Strength Reduction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20399
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 2 Mar 2005 05:45:56 +0000 (05:45 +0000)]
Be slightly more accurate in an error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20397
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Mar 2005 03:54:43 +0000 (03:54 +0000)]
Fix a nasty order of evaluation bug that Gabor Greif ran into. Here's an
explanation from IRC:
|sabre| I think it's an order of evaluation thing
|sabre| for me, the RHS of the assignment is evaluated first
|sabre| getTypeDescription checks to see if ConcreteTypeDescription[Ty] contains anything
|sabre| since it doesn't, it computes and returns the value
|sabre| this gets put into the map.
|sabre| For you, the LHS is evaluated first.
|sabre| Map[Ty] (aka ConcreteTypeDescriptions[Ty]) inserts an empty string into the map, returning a reference
|sabre| getTypeDesc then sees the empty string in the map
|sabre| and returns it
|sabre| bork :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20394
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 2 Mar 2005 03:43:55 +0000 (03:43 +0000)]
Now that type does not derive from Value, these do not need to be virtual.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20393
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 1 Mar 2005 17:19:21 +0000 (17:19 +0000)]
Fix HTML-4.01 Strict compliance
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20386
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 1 Mar 2005 17:15:23 +0000 (17:15 +0000)]
Use a colon instead of a period since we're introducing a command list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20385
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 1 Mar 2005 16:27:06 +0000 (16:27 +0000)]
Correct a typo in Makefile.rules.
Patch idea contributed by Vladimir Merzliakov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20384
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Tue, 1 Mar 2005 03:46:11 +0000 (03:46 +0000)]
Fixed the following LSR bugs:
* Loop invariant code does not dominate the loop header, but rather
the end of the loop preheader.
* The base for a reduced GEP isn't a constant unless all of its
operands (preceding the induction variable) are constant.
* Allow induction variable elimination for the simple case after all.
Also made changes recommended by Chris for properly deleting
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20383
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Tue, 1 Mar 2005 02:07:58 +0000 (02:07 +0000)]
Lower llvm.isunordered(a, b) into a != a | b != b.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20382
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:47:14 +0000 (19:47 +0000)]
cleanup my miswording
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20381
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:36:15 +0000 (19:36 +0000)]
Remove tabs from file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20380
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:31:42 +0000 (19:31 +0000)]
Add a test for llvm.prefetch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20379
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:29:46 +0000 (19:29 +0000)]
Add support to the C backend for llvm.prefetch. Patch contributed by
Justin Wick!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20378
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:28:00 +0000 (19:28 +0000)]
recognize llvm.prefetch. Patch contributed by Justin Wick!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20377
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:27:42 +0000 (19:27 +0000)]
Verify llvm.prefetch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20376
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:27:23 +0000 (19:27 +0000)]
Lower prefetch to a noop, patch contributed by Justin Wick!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20375
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:25:57 +0000 (19:25 +0000)]
Add a prefetch intrinsic, patch contributed by Justin Wick!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20374
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 19:24:19 +0000 (19:24 +0000)]
Document llvm.prefetch, patch contributed by Justin Wick!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20373
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 28 Feb 2005 17:22:18 +0000 (17:22 +0000)]
fix integer division and stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20372
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 28 Feb 2005 16:52:28 +0000 (16:52 +0000)]
Adam Treat implemented this :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20371
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 28 Feb 2005 08:45:35 +0000 (08:45 +0000)]
Changes to enable creation of native executables directly from gccld and to
ensure that -L paths don't contain both bytecode and native libraries.
This patch contributed by Adam Treat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20370
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 28 Feb 2005 01:10:48 +0000 (01:10 +0000)]
A few small steps toward HTML 4.01 Strict compliance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20369
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 28 Feb 2005 00:40:29 +0000 (00:40 +0000)]
Add a little more detail about the configuration process for projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20368
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Mon, 28 Feb 2005 00:08:56 +0000 (00:08 +0000)]
Fix crash in LSR due to attempt to remove original induction variable. However,
for reasons explained in the comments, I also deactivated this code as it needs
more thought.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20367
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 27 Feb 2005 21:08:04 +0000 (21:08 +0000)]
PHI nodes were incorrectly placed when more than one GEP is reduced in a loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20360
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 27 Feb 2005 19:37:07 +0000 (19:37 +0000)]
First pass at improved Loop Strength Reduction. Still not yet ready for prime time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20358
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Feb 2005 19:31:02 +0000 (19:31 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20357
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Feb 2005 19:28:30 +0000 (19:28 +0000)]
New testcase for PR529
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20356
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Feb 2005 19:07:36 +0000 (19:07 +0000)]
Fix this to create a recursive mutex. Patch by Evan Jones!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Feb 2005 19:06:10 +0000 (19:06 +0000)]
Use const iterators where possible. Patch by Evan Jones!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 27 Feb 2005 19:05:24 +0000 (19:05 +0000)]
Rename include guard, patch contributed by Evan Jones!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20353
91177308-0d34-0410-b5e6-
96231b3b80d8