oota-llvm.git
22 years agoMark analyses that only depend on the CFG of a function
Chris Lattner [Mon, 6 May 2002 19:32:07 +0000 (19:32 +0000)]
Mark analyses that only depend on the CFG of a function

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

22 years agoMake functions that preserve the CFG not invalidate analyses that only depend
Chris Lattner [Mon, 6 May 2002 19:31:52 +0000 (19:31 +0000)]
Make functions that preserve the CFG not invalidate analyses that only depend
on the CFG of a function

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

22 years agoAdd support for passes to announce that they only depend on the CFG of a
Chris Lattner [Mon, 6 May 2002 19:31:16 +0000 (19:31 +0000)]
Add support for passes to announce that they only depend on the CFG of a
function.  This is crude but effective

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

22 years agoOnly do masking for unsigned values!
Chris Lattner [Mon, 6 May 2002 18:54:59 +0000 (18:54 +0000)]
Only do masking for unsigned values!

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

22 years agoGCSE is faster than SCCP, and it makes SCCP's job easier, so run it first.
Chris Lattner [Mon, 6 May 2002 18:54:12 +0000 (18:54 +0000)]
GCSE is faster than SCCP, and it makes SCCP's job easier, so run it first.

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

22 years ago* Eliminate dead code that should have been removed in last revision
Chris Lattner [Mon, 6 May 2002 18:21:31 +0000 (18:21 +0000)]
* Eliminate dead code that should have been removed in last revision
* Convert main constant propogation pass to be worklist driven instead of
  iterative.
* -constprop pass no longer "constant propogates" terminator instructions
   - CFG is now preserved!

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

22 years agoHandle X = phi Y --> X = Y
Chris Lattner [Mon, 6 May 2002 18:06:38 +0000 (18:06 +0000)]
Handle X = phi Y  --> X = Y

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

22 years agoMake the testcase more interesting so that DCE does not eliminate it.
Chris Lattner [Mon, 6 May 2002 17:59:23 +0000 (17:59 +0000)]
Make the testcase more interesting so that DCE does not eliminate it.
Use DIE instead of DCE anyway

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

22 years agoMove a bunch of code to a .cpp file, don't #include Instruction.h
Chris Lattner [Mon, 6 May 2002 17:54:50 +0000 (17:54 +0000)]
Move a bunch of code to a .cpp file, don't #include Instruction.h

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

22 years agoMove code out of header file
Chris Lattner [Mon, 6 May 2002 17:54:27 +0000 (17:54 +0000)]
Move code out of header file

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

22 years ago* Use simplified interface to constant propogation stuff.
Chris Lattner [Mon, 6 May 2002 17:54:10 +0000 (17:54 +0000)]
* Use simplified interface to constant propogation stuff.
* Remove dead PHI case (which could not work due to getNumOperands rather than
  getNumIncomingValues.  This really belongs in InstCombine, anyway so we'll
  move it there.

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

22 years agoAdd #include removed from ConstantHandling.h
Chris Lattner [Mon, 6 May 2002 17:53:10 +0000 (17:53 +0000)]
Add #include removed from ConstantHandling.h

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

22 years agoNew testcase for PHI folding
Chris Lattner [Mon, 6 May 2002 17:43:38 +0000 (17:43 +0000)]
New testcase for PHI folding

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

22 years agoClean up ADCE by removing extraneous wrapper class
Chris Lattner [Mon, 6 May 2002 17:27:57 +0000 (17:27 +0000)]
Clean up ADCE by removing extraneous wrapper class

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

22 years agoCombine not (not X) -> X
Chris Lattner [Mon, 6 May 2002 17:03:21 +0000 (17:03 +0000)]
Combine not (not X) -> X

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

22 years agoNew testcase to make sure not instructions get combined
Chris Lattner [Mon, 6 May 2002 17:00:47 +0000 (17:00 +0000)]
New testcase to make sure not instructions get combined

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

22 years agoInstruction Combination can create a ton of trivially dead instructions. Remove
Chris Lattner [Mon, 6 May 2002 16:52:15 +0000 (16:52 +0000)]
Instruction Combination can create a ton of trivially dead instructions.  Remove
them with an DIE pass before more expensive optimizations are run.

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

22 years agoSupport more cases...
Chris Lattner [Mon, 6 May 2002 16:49:18 +0000 (16:49 +0000)]
Support more cases...

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

22 years agoMore tests
Chris Lattner [Mon, 6 May 2002 16:44:53 +0000 (16:44 +0000)]
More tests

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

22 years agoAdd testcase for -(-A)
Chris Lattner [Mon, 6 May 2002 16:19:16 +0000 (16:19 +0000)]
Add testcase for -(-A)

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

22 years agoChange usage of isPointerType to use isa
Chris Lattner [Mon, 6 May 2002 16:15:49 +0000 (16:15 +0000)]
Change usage of isPointerType to use isa

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

22 years agoReplace all usages of Type::isPointerType with isa<PointerType>
Chris Lattner [Mon, 6 May 2002 16:15:30 +0000 (16:15 +0000)]
Replace all usages of Type::isPointerType with isa<PointerType>

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

22 years agoImplement getPrimitiveSize()
Chris Lattner [Mon, 6 May 2002 16:14:39 +0000 (16:14 +0000)]
Implement getPrimitiveSize()
don't use isPointerType()

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

22 years agoAdd many more instruction combination simplifications
Chris Lattner [Mon, 6 May 2002 16:14:14 +0000 (16:14 +0000)]
Add many more instruction combination simplifications

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

22 years ago* Add getPrimitiveSize method
Chris Lattner [Mon, 6 May 2002 16:12:53 +0000 (16:12 +0000)]
* Add getPrimitiveSize method
* Remove isPointerType, isMethodType, etc... methods.  Use isa<> instead
* Added specialization of isa for pointer types so that DerivedTypes.h doesn't
  have to be #included to use isa<PointerType>(..)

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

22 years agoFix testcase, the 'shift out all bits' doesn't apply to signed types.
Chris Lattner [Mon, 6 May 2002 16:11:31 +0000 (16:11 +0000)]
Fix testcase, the 'shift out all bits' doesn't apply to signed types.

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

22 years agoVoid and Label values cannot be acted on directly so they have zero size
Chris Lattner [Mon, 6 May 2002 15:10:15 +0000 (15:10 +0000)]
Void and Label values cannot be acted on directly so they have zero size

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

22 years agoMore testcases I don't want to forget about
Chris Lattner [Mon, 6 May 2002 05:51:26 +0000 (05:51 +0000)]
More testcases I don't want to forget about

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

22 years agoNew testcases so I don't forget about these algebraic simplifications
Chris Lattner [Mon, 6 May 2002 05:43:36 +0000 (05:43 +0000)]
New testcases so I don't forget about these algebraic simplifications

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

22 years agoNew testcase so I don't forget about this.
Chris Lattner [Mon, 6 May 2002 05:35:20 +0000 (05:35 +0000)]
New testcase so I don't forget about this.

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

22 years agoTestcase for missed merge opportunity
Chris Lattner [Mon, 6 May 2002 03:11:32 +0000 (03:11 +0000)]
Testcase for missed merge opportunity

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

22 years agoRun DCE AFTER SCCP and GCSE!
Chris Lattner [Mon, 6 May 2002 03:04:17 +0000 (03:04 +0000)]
Run DCE AFTER SCCP and GCSE!

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

22 years agoBuild CFGsimplify directory
Chris Lattner [Mon, 6 May 2002 03:03:55 +0000 (03:03 +0000)]
Build CFGsimplify directory

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

22 years agoUpdated documentation a _LOT_
Chris Lattner [Mon, 6 May 2002 03:03:22 +0000 (03:03 +0000)]
Updated documentation a _LOT_

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

22 years agoRemove dead code
Chris Lattner [Mon, 6 May 2002 03:03:09 +0000 (03:03 +0000)]
Remove dead code

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

22 years agoMerge blocks like this:
Chris Lattner [Mon, 6 May 2002 03:02:02 +0000 (03:02 +0000)]
Merge blocks like this:

void "test3"(bool %T) {
        br bool %T, label %BB1, label %BB1
BB1:
        ret void
}

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

22 years agoImplement constant propogation of shift instructions
Chris Lattner [Mon, 6 May 2002 03:01:37 +0000 (03:01 +0000)]
Implement constant propogation of shift instructions

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

22 years agoImplement constant propogation of shifts
Chris Lattner [Mon, 6 May 2002 03:00:54 +0000 (03:00 +0000)]
Implement constant propogation of shifts

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

22 years agoPrint functions with curly braces instead of begin/end
Chris Lattner [Mon, 6 May 2002 03:00:40 +0000 (03:00 +0000)]
Print functions with curly braces instead of begin/end

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

22 years agoAdd a range remove method
Chris Lattner [Mon, 6 May 2002 02:59:52 +0000 (02:59 +0000)]
Add a range remove method

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

22 years agoImplement two iterator remove method
Chris Lattner [Mon, 6 May 2002 02:59:34 +0000 (02:59 +0000)]
Implement two iterator remove method

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

22 years agoInitial testcases for CFG simplify (which is part of DCE for now)
Chris Lattner [Mon, 6 May 2002 02:37:38 +0000 (02:37 +0000)]
Initial testcases for CFG simplify (which is part of DCE for now)

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

22 years agoTest moved to SCCP test directory
Chris Lattner [Mon, 6 May 2002 00:52:06 +0000 (00:52 +0000)]
Test moved to SCCP test directory

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

22 years agoImplement remainder
Chris Lattner [Fri, 3 May 2002 21:41:07 +0000 (21:41 +0000)]
Implement remainder
Fix implementation of Not

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

22 years agoImplement remainder
Chris Lattner [Fri, 3 May 2002 21:40:37 +0000 (21:40 +0000)]
Implement remainder

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

22 years agoNew testcase for bugs in the constant propogator
Chris Lattner [Fri, 3 May 2002 20:25:40 +0000 (20:25 +0000)]
New testcase for bugs in the constant propogator

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

22 years agoAdd tests for floating point remainder elimination
Chris Lattner [Fri, 3 May 2002 20:16:29 +0000 (20:16 +0000)]
Add tests for floating point remainder elimination

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

22 years agoNew testcase to see if constant propogation of remainder is implemented
Chris Lattner [Fri, 3 May 2002 20:14:21 +0000 (20:14 +0000)]
New testcase to see if constant propogation of remainder is implemented

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

22 years agoThis testcase is a sanity check
Chris Lattner [Fri, 3 May 2002 20:12:31 +0000 (20:12 +0000)]
This testcase is a sanity check

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

22 years agoFix bug: test/Regression/Transforms/SCCP/2002-05-03-NotOperator.ll
Chris Lattner [Fri, 3 May 2002 20:09:52 +0000 (20:09 +0000)]
Fix bug: test/Regression/Transforms/SCCP/2002-05-03-NotOperator.ll
by using the ~ operator instead of !

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

22 years agoAdd new testcase for general constant prop.
Chris Lattner [Fri, 3 May 2002 19:58:17 +0000 (19:58 +0000)]
Add new testcase for general constant prop.

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

22 years agoAdd const prop pass to eliminate dead branches
Chris Lattner [Fri, 3 May 2002 19:57:16 +0000 (19:57 +0000)]
Add const prop pass to eliminate dead branches

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

22 years agoImplement the NOT operator.
Chris Lattner [Fri, 3 May 2002 19:52:30 +0000 (19:52 +0000)]
Implement the NOT operator.

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

22 years agoWe currently don't allow unresolved opaque types!
Chris Lattner [Fri, 3 May 2002 18:32:40 +0000 (18:32 +0000)]
We currently don't allow unresolved opaque types!

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

22 years agoAdd -d switch to test AsmWriter as well
Chris Lattner [Fri, 3 May 2002 18:31:30 +0000 (18:31 +0000)]
Add -d switch to test AsmWriter as well

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

22 years agoAllow open/closing curly braces instead of begin/end to define the body of a function
Chris Lattner [Fri, 3 May 2002 18:23:48 +0000 (18:23 +0000)]
Allow open/closing curly braces instead of begin/end to define the body of a function

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

22 years agoEliminate usage of function level constant pool
Chris Lattner [Thu, 2 May 2002 21:52:35 +0000 (21:52 +0000)]
Eliminate usage of function level constant pool

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

22 years agoUse unified diffs with gnu diff instead of old diffs
Chris Lattner [Thu, 2 May 2002 21:51:55 +0000 (21:51 +0000)]
Use unified diffs with gnu diff instead of old diffs

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

22 years agoOk, really it only takes me 3 times to get this right!
Chris Lattner [Thu, 2 May 2002 21:49:50 +0000 (21:49 +0000)]
Ok, really it only takes me 3 times to get this right!
Now use #if 0 instead of #ifdef 0

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

22 years agoOops, disable debugging code all the way. :)
Chris Lattner [Thu, 2 May 2002 21:47:40 +0000 (21:47 +0000)]
Oops, disable debugging code all the way.  :)

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

22 years ago* Finish the implementation of isEdgeFeasible this fixes bug:
Chris Lattner [Thu, 2 May 2002 21:44:00 +0000 (21:44 +0000)]
* Finish the implementation of isEdgeFeasible this fixes bug:
    test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll
* SCCP now preserves the CFG:  It leaves conditional branches the way they
  are in the program, not simplifying them.  A seperate pass should eliminate
  the potentially dead basic blocks and edges in the CFG.

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

22 years ago* Enable SCCP debugging to be turned on with a simple change of #define
Chris Lattner [Thu, 2 May 2002 21:18:01 +0000 (21:18 +0000)]
* Enable SCCP debugging to be turned on with a simple change of #define
* Change worklist to a set so that duplicates cannot happen
* Add support for the invoke instruction
* Avoid marking store and free instructions as overdefined, since they
  cannot produce a value anyway.
* Inline the OperandChangedState implementation
* Add isEdgeFeasible in preparation to fix a bug.  Right now it behaves
  exactly as before.
* Remove obsolete comment about constant pools

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

22 years agoMore testcases for SCCP
Chris Lattner [Thu, 2 May 2002 20:41:39 +0000 (20:41 +0000)]
More testcases for SCCP

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

22 years ago* Simplify the code by not bothering to name the folded constant
Chris Lattner [Thu, 2 May 2002 20:32:51 +0000 (20:32 +0000)]
* Simplify the code by not bothering to name the folded constant
* Do not skip the instruction immediately after a folded instruction.  This
  was causing the testcase failure:
test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll

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

22 years agoAdditional testcase
Chris Lattner [Thu, 2 May 2002 20:19:11 +0000 (20:19 +0000)]
Additional testcase

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

22 years agoRun the SCCP test
Chris Lattner [Thu, 2 May 2002 20:18:53 +0000 (20:18 +0000)]
Run the SCCP test

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

22 years agoFirst testcase for SCCP pass
Chris Lattner [Thu, 2 May 2002 20:18:37 +0000 (20:18 +0000)]
First testcase for SCCP pass

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

22 years agoSimplify the testcase a bit
Chris Lattner [Thu, 2 May 2002 19:58:05 +0000 (19:58 +0000)]
Simplify the testcase a bit

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

22 years agoNew testcase
Chris Lattner [Thu, 2 May 2002 19:54:58 +0000 (19:54 +0000)]
New testcase

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

22 years agoImplement cast operations on booleans to allow casting bools to ints, f.e.
Chris Lattner [Thu, 2 May 2002 19:28:45 +0000 (19:28 +0000)]
Implement cast operations on booleans to allow casting bools to ints, f.e.

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

22 years ago* Fix a bug (test/Regression/Assembler/2002-05-02-InvalidForwardRef.ll)
Chris Lattner [Thu, 2 May 2002 19:27:42 +0000 (19:27 +0000)]
* Fix a bug (test/Regression/Assembler/2002-05-02-InvalidForwardRef.ll)
  introduced in the 1.66 revision of this file.
* Convert a hard coded constant to a symbolic value.

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

22 years agoNew testcase for assembler failure
Chris Lattner [Thu, 2 May 2002 19:12:21 +0000 (19:12 +0000)]
New testcase for assembler failure

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

22 years agoThe implementation keyword is no longer neccesary
Chris Lattner [Thu, 2 May 2002 19:11:29 +0000 (19:11 +0000)]
The implementation keyword is no longer neccesary

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

22 years agoThe "implementation" is now allowed but not required by the parser. All type
Chris Lattner [Thu, 2 May 2002 19:11:13 +0000 (19:11 +0000)]
The "implementation" is now allowed but not required by the parser.  All type
definitions must still occur before function bodies, but the wierd keyword is
no longer neccesary.

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

22 years agoExprTypeConvert will already do this transformation, no need to specialize
Chris Lattner [Thu, 2 May 2002 17:38:55 +0000 (17:38 +0000)]
ExprTypeConvert will already do this transformation, no need to specialize
it here.

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

22 years agoBe a little more efficient, do not generate loads and stores with indices in them.
Chris Lattner [Thu, 2 May 2002 17:38:14 +0000 (17:38 +0000)]
Be a little more efficient, do not generate loads and stores with indices in them.

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

22 years agoFix bug: test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll
Chris Lattner [Thu, 2 May 2002 17:37:34 +0000 (17:37 +0000)]
Fix bug: test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll

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

22 years ago* Add ability to eliminate a bunch of different cascading cast variations
Chris Lattner [Thu, 2 May 2002 17:06:02 +0000 (17:06 +0000)]
* Add ability to eliminate a bunch of different cascading cast variations
* Allow elimination of getelementptr X, uint 0 (which is a noop)

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

22 years agoIntitial checkin of cast tests
Chris Lattner [Thu, 2 May 2002 17:01:39 +0000 (17:01 +0000)]
Intitial checkin of cast tests

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

22 years agoNew testcase for bug found by Vikram
Chris Lattner [Thu, 2 May 2002 16:16:39 +0000 (16:16 +0000)]
New testcase for bug found by Vikram

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

22 years agoCheck another case
Chris Lattner [Thu, 2 May 2002 15:24:40 +0000 (15:24 +0000)]
Check another case

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

22 years agoFixed bug: test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll
Chris Lattner [Wed, 1 May 2002 15:38:23 +0000 (15:38 +0000)]
Fixed bug: test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll

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

22 years agoNew bug testcase
Chris Lattner [Wed, 1 May 2002 15:33:12 +0000 (15:33 +0000)]
New bug testcase

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

22 years agoRemove unneccesary pass.
Chris Lattner [Tue, 30 Apr 2002 20:53:05 +0000 (20:53 +0000)]
Remove unneccesary pass.

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

22 years agoRemove unneccesary pass
Chris Lattner [Tue, 30 Apr 2002 20:52:49 +0000 (20:52 +0000)]
Remove unneccesary pass

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

22 years agoNew testcase
Chris Lattner [Tue, 30 Apr 2002 19:50:47 +0000 (19:50 +0000)]
New testcase

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

22 years agoFix problem where subpasses would invalidate all analyses outstanding
Chris Lattner [Tue, 30 Apr 2002 18:50:17 +0000 (18:50 +0000)]
Fix problem where subpasses would invalidate all analyses outstanding

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

22 years agoAdd folding rules for mul X, 0 and mul X, 2
Chris Lattner [Mon, 29 Apr 2002 22:24:47 +0000 (22:24 +0000)]
Add folding rules for mul X, 0 and mul X, 2

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

22 years agoNew test cases for mul folding
Chris Lattner [Mon, 29 Apr 2002 22:24:24 +0000 (22:24 +0000)]
New test cases for mul folding

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

22 years agoSignificantly clean up SCCP pass. Now the two classes are merged and in
Chris Lattner [Mon, 29 Apr 2002 21:26:08 +0000 (21:26 +0000)]
Significantly clean up SCCP pass.  Now the two classes are merged and in
an anonymous namespace where they belong.

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

22 years agoRange insertion now returns an iterator
Chris Lattner [Mon, 29 Apr 2002 21:25:34 +0000 (21:25 +0000)]
Range insertion now returns an iterator

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

22 years agoMake the range insert operation return an iterator, even though the STL
Chris Lattner [Mon, 29 Apr 2002 21:23:30 +0000 (21:23 +0000)]
Make the range insert operation return an iterator, even though the STL
range insert doesn't

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

22 years agoThese aren't tools
Chris Lattner [Mon, 29 Apr 2002 20:29:30 +0000 (20:29 +0000)]
These aren't tools

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

22 years agoRemove unused files: This is the old induction varaible cannonicalization
Chris Lattner [Mon, 29 Apr 2002 20:18:00 +0000 (20:18 +0000)]
Remove unused files:  This is the old induction varaible cannonicalization
pass built on top of interval analysis

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

22 years agoMove constant merging pass earlier
Chris Lattner [Mon, 29 Apr 2002 20:11:38 +0000 (20:11 +0000)]
Move constant merging pass earlier
Include the SCCP pass in gccas

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

22 years agoFix for problem when allocating something like this:
Chris Lattner [Mon, 29 Apr 2002 20:09:21 +0000 (20:09 +0000)]
Fix for problem when allocating something like this:
   malloc(100-i);

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

22 years agoMerge Chris's script with the one already checked in
Chris Lattner [Mon, 29 Apr 2002 19:11:01 +0000 (19:11 +0000)]
Merge Chris's script with the one already checked in

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

22 years agoFix #include broken by iMemory.h not including DerivedTypes.h
Chris Lattner [Mon, 29 Apr 2002 18:56:45 +0000 (18:56 +0000)]
Fix #include broken by iMemory.h not including DerivedTypes.h

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

22 years agoAdd neccesary #include
Chris Lattner [Mon, 29 Apr 2002 18:48:55 +0000 (18:48 +0000)]
Add neccesary #include

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

22 years agochanges because iMemory.h no longer #includes DerivedTypes.h
Chris Lattner [Mon, 29 Apr 2002 18:48:30 +0000 (18:48 +0000)]
changes because iMemory.h no longer #includes DerivedTypes.h
This only requires Type.h anyway

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