oota-llvm.git
19 years agotestcase for A[invariant][indvar] where invariant is an instruction.
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

19 years agoadd test for this:
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

19 years agoAdd test for this:
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

19 years agominor simplifications of the code.
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

19 years agoa regtest
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

19 years agonew directory
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

19 years agotrivial simplification
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

19 years agoFix a bug where we could corrupt a parent loop's header info if we unrolled
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

19 years agoNew testcase for PR532
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

19 years agonew helper method
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

19 years agonew testcase reduced from the MultiSource/Applications/d failure last night.
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

19 years agomove some method declarations around to make it clear that users should
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

19 years agothis method is never called.
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

19 years agocleanup some html
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

19 years agothe only caller of insertEntry is insert, inline it and remove insertEntry
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

19 years agorename insertEntry to insert
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

19 years agoMerge SymbolTable::removeEntry into SymbolTable::remove, its only caller
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

19 years agoremove this method.
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

19 years agoDelete the really inefficient method: void remove(const Type* Typ);
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

19 years agoDelete the really inefficient method: void remove(const Type* Typ);
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

19 years agoMake this MUCH faster by avoiding a linear search in the symbol table code.
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

19 years agoInternallyInconsistent is dead!
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

19 years agoRemove some really gross and hard to understand code now that
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

19 years agoSimplify some code.
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

19 years agoremove these dead methods.
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

19 years agoremove these methods.
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

19 years agoThese methods are removed.
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

19 years agosimplify and speed up some code
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

19 years agosimplify some code.
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

19 years agonuke some dead methods.
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

19 years agoThis fixes PR531, a crash when running the CBE on a bytecode file.
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

19 years agoAdd a new method, allow symtab to poke name.
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

19 years agoReformat comments to fix 80 columns.
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

19 years agoReuse induction variables created for strength-reduced GEPs by other similar GEPs.
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

19 years agoremove extraneous spaces from argument lists.
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

19 years agoremove all of the various setName implementations, consolidating them into
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

19 years agosecond argument to Value::setName is now gone.
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

19 years agoMake sure the two arguments of a setcc instruction point to the same node.
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

19 years agozap
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

19 years ago2nd arg to setName goes away.
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

19 years agoConstants never get names.
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

19 years agoRemove the 2nd argument to Value::setName
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

19 years agoRemove the second argument to Value::setName, it is never needed.
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

19 years agoNew testcase for PR533
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

19 years agodon't break the build on 32-bit hosts.
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

19 years agoThis file is all commented out.
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

19 years agofix data size stuff for architectures with bit challenged data types
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

19 years agoDo not compute 1ULL << 64, which is undefined. This fixes Ptrdist/ks on the
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

19 years agoTestcase for a bug that caused us to miscompile ptrdist/ks on sparc.
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

19 years agofix up stack pointer adjustments
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

19 years agoTrivial cleanup patch
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

19 years agofix FCMOVxx typo, set rem and div to hardcode target reg to be the same as the one...
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

19 years agoAdd support for not strength reducing GEPs where the element size is a small
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

19 years agoturn on IEEE for compares
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

19 years agobeter Select on FP
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

19 years agoPrint -X like this:
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

19 years agoLSR cleanup patch
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

19 years agoDo not lower malloc's to pass "sizeof" expressions like this:
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

19 years agoAdd an optional argument to lower to a specific constant value instead of
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

19 years agoAdd an argument.
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

19 years agoFix the spelling of the word `the'
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

19 years agoPrint the module ID as a comment.
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

19 years agocleanup the cfg after lsr
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

19 years agoremove 32 sign extend after 32 sextload and handle small negative constant
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

19 years agoAdded LSR as a beta pass for alpha
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

19 years agoAdd a temporary option for llc-beta: -enable-lsr-for-ppc, which turns on
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

19 years agoBe slightly more accurate in an error message.
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

19 years agoFix a nasty order of evaluation bug that Gabor Greif ran into. Here's an
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

19 years agoNow that type does not derive from Value, these do not need to be virtual.
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

19 years agoFix HTML-4.01 Strict compliance
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

19 years agoUse a colon instead of a period since we're introducing a command list
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

19 years agoCorrect a typo in Makefile.rules.
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

19 years agoFixed the following LSR bugs:
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

19 years agoLower llvm.isunordered(a, b) into a != a | b != b.
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

19 years agocleanup my miswording
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

19 years agoRemove tabs from file.
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

19 years agoAdd a test for llvm.prefetch.
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

19 years agoAdd support to the C backend for llvm.prefetch. Patch contributed by
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

19 years agorecognize llvm.prefetch. Patch contributed by Justin Wick!
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

19 years agoVerify llvm.prefetch.
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

19 years agoLower prefetch to a noop, patch contributed by Justin Wick!
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

19 years agoAdd a prefetch intrinsic, patch contributed by Justin Wick!
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

19 years agoDocument llvm.prefetch, patch contributed by Justin Wick!
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

19 years agofix integer division and stuff
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

19 years agoAdam Treat implemented this :)
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

19 years agoChanges to enable creation of native executables directly from gccld and to
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

19 years agoA few small steps toward HTML 4.01 Strict compliance.
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

19 years agoAdd a little more detail about the configuration process for projects.
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

19 years agoFix crash in LSR due to attempt to remove original induction variable. However,
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

19 years agoPHI nodes were incorrectly placed when more than one GEP is reduced in a loop.
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

19 years agoFirst pass at improved Loop Strength Reduction. Still not yet ready for prime time.
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

19 years agoBug fixed
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

19 years agoNew testcase for PR529
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

19 years agoFix this to create a recursive mutex. Patch by Evan Jones!
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

19 years agoUse const iterators where possible. Patch by Evan Jones!
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

19 years agoRename include guard, patch contributed by Evan Jones!
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

19 years agoTeach globalopt how memset/cpy/move affect memory, to allow better optimization.
Chris Lattner [Sun, 27 Feb 2005 18:58:52 +0000 (18:58 +0000)]
Teach globalopt how memset/cpy/move affect memory, to allow better optimization.

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

19 years agonew testcase globalopt should handle.
Chris Lattner [Sun, 27 Feb 2005 18:48:19 +0000 (18:48 +0000)]
new testcase globalopt should handle.

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

19 years agonew testcase globalopt should implement
Chris Lattner [Sun, 27 Feb 2005 18:47:17 +0000 (18:47 +0000)]
new testcase globalopt should implement

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

19 years agoTest that a global is marked constant when it can be.
Chris Lattner [Sun, 27 Feb 2005 18:19:26 +0000 (18:19 +0000)]
Test that a global is marked constant when it can be.

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