Commit Graph

1864 Commits

Author SHA1 Message Date
Chris Lattner
0712d55512 Remove long obsolete comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3476 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 21:25:54 +00:00
Chris Lattner
80b7f8ceb4 Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3474 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 20:39:29 +00:00
Chris Lattner
c20e24524f Instcombine PHI's of the form %PN = phi PN, X into X and
%PN = phi PN, PN, PN into 0 (because the phi must not be reachable)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3470 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 20:22:01 +00:00
Chris Lattner
22d8cd6143 Add missing #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3467 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 18:57:09 +00:00
Chris Lattner
53ad0edd36 Check-in new alias analysis infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3465 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 18:25:32 +00:00
Chris Lattner
d456ec983c Convert GCSE pass to use new alias analysis infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3463 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 18:24:48 +00:00
Chris Lattner
ff9a9e5b13 Do not generate load/store instructions with indexing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3461 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 16:41:31 +00:00
Chris Lattner
abfb0b5e70 Change code to not use the copyOperands method added to User. It's now
more efficient to boot.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3453 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 15:57:58 +00:00
Vikram S. Adve
da920aa55b dumpNode() does not need to print MachineInstrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3444 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 02:59:46 +00:00
Vikram S. Adve
10472cec5e Fix two resource names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3443 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 02:58:57 +00:00
Vikram S. Adve
e99941a931 Add AsmPrinter::ConstantExprToString, which writes out a ConstantExpr
as an expression.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3442 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 02:58:36 +00:00
Vikram S. Adve
30a6f49f09 Eliminate bool, boolreg and boolconst nonterminals, and just use
reg and Constant instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3441 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 02:56:10 +00:00
Vikram S. Adve
ccc13a49bd Change rules for Not, since it is now implemented as Xor(reg,11..1).
Eliminate bool, boolreg and boolconst nonterminals, and just use
reg and Constant instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3440 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 02:55:21 +00:00
Chris Lattner
f20816bc78 - Fighting with linking problem due to removing the ::ID elements. Now the
implementation .cpp files for analyses are not being included into gccas
    and friends because it is linking to the .a file and there is no explicit
    symbol reference to bring in the .o file.  The new IncludeFile hack is the
    result.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3436 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:51:51 +00:00
Chris Lattner
0383cc4455 - Fix asmparser and bytecode reader to not generate loads/stores with idxs
Now an obnoxious warning is emitted to discourage usage.  Eventually
    support will be removed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3435 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:51:21 +00:00
Chris Lattner
a69fd90358 - Split Dominators.h into Dominators.h & PostDominators.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3432 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:43:50 +00:00
Chris Lattner
352eef717d Emit an obnoxious warning message for bytecode that includes load/store
instructions that use indexing.  Convert them transparently into a pair
of instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3431 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:55:27 +00:00
Chris Lattner
64339f681a Remove debugging code accidentally checked in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3430 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:49:31 +00:00
Chris Lattner
789bc84262 - Implement the new AnalysisGroup feature, neccesary for Value#ing and pointer analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3426 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:17:09 +00:00
Chris Lattner
b63b29d9b0 Do not generate loads/stores with indexing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3422 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:11:33 +00:00
Chris Lattner
25ba05972f Remove extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3421 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:11:14 +00:00
Chris Lattner
3f9b28d075 Do not create load/stores with indexes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3420 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:10:52 +00:00
Chris Lattner
905641bb01 Remove an optimization that isn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3419 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:10:06 +00:00
Chris Lattner
546b027b3e - Do not expose ::ID from any of the analyses anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3417 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:09:49 +00:00
Chris Lattner
044f908791 - Do not expose ::ID from any of the analyses anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3416 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:09:45 +00:00
Chris Lattner
607ace696b - Do not expose ::ID from any of the analyses anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3415 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:09:15 +00:00
Chris Lattner
fb30fda1de - Eliminate the need for analyses to expose an ::ID member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3414 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:08:37 +00:00
Chris Lattner
b319faff77 fixed bug: test/Regression/Linker/2002-08-20-ConstantExpr.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3412 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 19:35:11 +00:00
Chris Lattner
b8fa514b1d Sort -time-passes report first by user+system, then by Wall clock time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3407 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 18:47:53 +00:00
Chris Lattner
05bd1b2eee - instcombine (~(a < b)) into (a >= b)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3406 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 18:24:26 +00:00
Chris Lattner
e825bde125 Add new SetCondInst::getInverseCondition() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3405 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 18:17:12 +00:00
Chris Lattner
5a905e20b7 This case JUST handles constantpointer nulls, not all pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3402 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 17:02:48 +00:00
Chris Lattner
4cda83568e Fix bug: 2002-08-20-UnnamedArgument.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3401 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 16:55:48 +00:00
Chris Lattner
f02c46834a - implemented instcombine of phi (X, X, X) -> X
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3397 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 15:35:35 +00:00
Chris Lattner
df35a1cb4b Implement ConstantExprs in CWriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3394 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-19 23:09:46 +00:00
Chris Lattner
83c577566e Incorporate calcTypeNameVar into CWriter class, fixing
test/Regression/CBackend/2002-08-19-FunctionPointer.c in the process


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3392 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-19 22:17:53 +00:00
Chris Lattner
a4d4a855d8 Output forward definitions of global vars to handle recursive intializers correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3391 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-19 21:48:40 +00:00
Chris Lattner
6d49292003 - Change constant printing to be better integrated with the rest of the
CWriter class.  Write directly to stream instead of building a big
      string, then writing it out.
    - Implement printing of ConstantPointerRefs


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3389 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-19 21:32:41 +00:00
Chris Lattner
db8d8eff2f Add missing space
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3387 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-19 20:42:12 +00:00
Chris Lattner
63c58a496a Fix bug: test/Regression/Assembler/2002-08-19-BytecodeReader.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3384 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-19 16:48:21 +00:00
Chris Lattner
f5526b6edb Fix the -time-passes option to not print NaN when there is zero execution time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3382 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-19 15:43:33 +00:00
Chris Lattner
0bfb6ba3e3 - Made GlobalDCE worklist driven, making it more successful. Now can handle
cases like: test/Regression/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3381 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-18 01:28:30 +00:00
Chris Lattner
41661fdb2e - ConstantPointerRefs are now automatically removed from the module table
when they are destroyed, which makes Constant::destroyConstant an actually
    useful external interface.  Expose these methods publicly.
  - Implement destroyConstant on ConstPointerNull so that destroyConstant can
    be used on any derived type constant safely.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3379 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-18 00:40:04 +00:00
Chris Lattner
915ce8a02e Turn off a debugging optimization that just slows bytecode reading down
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3377 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-18 00:38:32 +00:00
Chris Lattner
9da0715aa4 Add Module::dump() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3375 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 23:32:47 +00:00
Chris Lattner
9b76123124 Promote getelementptr instructions to constexprs if we can.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3368 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 22:21:59 +00:00
Chris Lattner
e4619181cc Fix stupid oversight of missing #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3367 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 22:02:41 +00:00
Chris Lattner
7473413072 - Finally nailed: test/Regression/Assembler/2002-08-16-ConstExprInlined.llx
- ParseConstantPool was resolving reference to value using the function
      slot # instead of the global slot #.
  - Bytecode reader changes:
    - Remove the failure<> template from Bytecode Reader
    - Remove extraneous #includes
    - s/method/function/ a bit
    - Eliminate the fwdRefs class that just added abstraction where it was not
      needed, making things more complex.
    - Use a vector instead of a list for function signatures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3366 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 22:01:27 +00:00
Chris Lattner
1c93e5bd26 Changed parser to always use parenthesis on ConstExprs to be consistent
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3363 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-16 21:17:11 +00:00
Chris Lattner
d78700de8e - Remove unused STRING token from lexer & parser
- Changed parser to always use parenthesis on ConstExprs to be consistent
  - Parser now passes TRUE and FALSE tokens as a special case of the ConstExpr
    machinery instead of a special case of constant int stuff
  - Fix the AsmParser to use ValueRef ::= ConstExpr, and remove
    ResolvedVal ::= ConstExpr this allows constexprs to be used in PHI nodes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3362 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-16 21:14:40 +00:00