Commit Graph

1880 Commits

Author SHA1 Message Date
Chris Lattner 1b09a9ab68 Really minor cleanups
llvm-svn: 3549
2002-08-30 22:53:30 +00:00
Chris Lattner e083fe9e34 AsmParser now depends on clients to verify that input is well formed
llvm-svn: 3548
2002-08-30 22:52:23 +00:00
Chris Lattner f2eb70fc0b Minor cleanups so I can remove BasicValueNumbering.h
llvm-svn: 3544
2002-08-30 22:30:36 +00:00
Chris Lattner c05581fb31 initial implementation of ValueNumbering interface.
llvm-svn: 3541
2002-08-30 20:29:02 +00:00
Chris Lattner 2dd49e525c Initial implementation of value numbering for load instructions
llvm-svn: 3540
2002-08-30 20:28:10 +00:00
Chris Lattner 216edd4ea0 - Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber
- -debug-pass=Details now prints implementation class names for analysis
    groups
  - Rework how AnalysisGroups are resolved to be simpler and better.

llvm-svn: 3535
2002-08-30 20:25:01 +00:00
Chris Lattner b3708e267e - PassManager prints analysis sets nicer
- Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber

llvm-svn: 3534
2002-08-30 20:23:45 +00:00
Chris Lattner b2a31090b1 - GCSE now no longer counts instructions not removed (due to no common
dominator as being removed)
  - GCSE now uses new Value #'ing interface, instead of dealing with AA itself
  - GCSE worklist implementation much simpler, class cleaned up.

llvm-svn: 3533
2002-08-30 20:22:29 +00:00
Chris Lattner abb16604fd Remove unneeded #include
llvm-svn: 3524
2002-08-29 20:08:55 +00:00
Anand Shukla bcba516097 moved this file from lib/Reoptimizer/Mapping
llvm-svn: 3519
2002-08-27 22:47:33 +00:00
Anand Shukla 2762328f9e Makefile for new sub directory
llvm-svn: 3518
2002-08-27 22:46:38 +00:00
Anand Shukla fe9eda7fb1 Added Mapping subdir
llvm-svn: 3517
2002-08-27 22:45:49 +00:00
Chris Lattner c837dbc39f Implement ConstantPointerRef support, & ConstantExpr support for Cast, GEP & Add.
llvm-svn: 3516
2002-08-27 22:33:45 +00:00
Anand Shukla a1cd3fedb5 added Reoptimizer in Makefile DIRS
llvm-svn: 3515
2002-08-27 22:05:53 +00:00
Anand Shukla f246131208 Added getFunctionInfo and MappingInfoForFunction pass, and fixed the earlier error in compiling
llvm-svn: 3513
2002-08-27 16:45:17 +00:00
Chris Lattner 91680b53f4 Fix bug: test/Regression/CBackend/2002-08-26-IndirectCallTest.ll
llvm-svn: 3511
2002-08-26 20:50:09 +00:00
Chris Lattner 81fabb05e5 Add support for turning an array of characters into a string.
llvm-svn: 3509
2002-08-26 17:53:56 +00:00
Anand Shukla e87291ef83 Changed so it gets linked properly
llvm-svn: 3508
2002-08-26 16:45:19 +00:00
Vikram S. Adve 8a5c9b15ae Fix the way parens are printed around "*ptrName" so that
no parens are printed around  *, **, ... alone, except if
it is a pointer type for which no name should be printed,
as in the result of a cast.

llvm-svn: 3506
2002-08-25 20:00:08 +00:00
Vikram S. Adve 872c7f9a9e Use newly-added type inspection support in InstTreeNode subclasses.
llvm-svn: 3501
2002-08-24 21:02:09 +00:00
Vikram S. Adve 8c1e3f7310 Moved code here to extract memory instruction indices and to check
whether FoldGetElemNodes should be called.  This is machine-independent
but was in the Sparc directory.  This is in a new function: GetMemInstArgs.

llvm-svn: 3500
2002-08-24 21:00:08 +00:00
Vikram S. Adve bee7297f26 LoadIdx non-terminal no longer needed.
llvm-svn: 3499
2002-08-24 20:58:04 +00:00
Vikram S. Adve 541862fbf3 Sign-extend values used to index arrays (and Simplify
SetOperandsForMemInstr significantly).  Load and Store
no longer have any indices.  Eliminate spurious sign-extension
on a cast to float/double.

llvm-svn: 3498
2002-08-24 20:56:53 +00:00
Vikram S. Adve 9068efdce6 Fix sign-extension: it needs to happen *after* multiplying by type size.
llvm-svn: 3497
2002-08-24 14:44:58 +00:00
Vikram S. Adve bc27523001 Sign-extend array index expressions to work correctly on non-32 bit machines.
llvm-svn: 3496
2002-08-24 14:44:23 +00:00
Chris Lattner 65217ff294 - instcombine demorgan's law: and (not A), (not B) == not (or A, B)
llvm-svn: 3495
2002-08-23 18:32:43 +00:00
Anand Shukla 83a3654838 Changed default value of 3rd parameter in function definition
llvm-svn: 3492
2002-08-23 10:55:49 +00:00
Anand Shukla 492a263ffd Added #include <alloca.h>
llvm-svn: 3491
2002-08-23 10:54:26 +00:00
Vikram S. Adve b342572667 Simplify previous hack slightly.
llvm-svn: 3490
2002-08-23 03:21:01 +00:00
Vikram S. Adve 1c84243d47 Force sign-extension for uint array indexes from 32-bit to 64-bits
since uint is not normally sign-extended when casting to uint64_t.

llvm-svn: 3489
2002-08-23 02:55:51 +00:00
Chris Lattner 02fe752fbd Eliminated the MemAccessInst class, folding contents into GEP class.
llvm-svn: 3488
2002-08-22 23:37:24 +00:00
Chris Lattner dfb3a2cd07 Eliminated the MemAccessInst class, folding contents into GEP class.
llvm-svn: 3487
2002-08-22 23:37:20 +00:00
Chris Lattner cd709cbf53 Load & StoreInst no longer derive from MemAccessInst, so we don't have
to handle indexing anymore

llvm-svn: 3485
2002-08-22 22:49:05 +00:00
Chris Lattner 030effa42c Load & StoreInst no longer derive from MemAccessInst, so we don't have
to handle indexing anymore

llvm-svn: 3484
2002-08-22 22:48:55 +00:00
Chris Lattner 62b42ce764 *** empty log message ***
llvm-svn: 3483
2002-08-22 22:48:32 +00:00
Chris Lattner 4011c62a8d Load and Store now no longer derive from MemAccessInst. Indexing a load or
store is not possible anymore.

llvm-svn: 3482
2002-08-22 22:47:47 +00:00
Chris Lattner d922a84930 doxygenize comments
llvm-svn: 3481
2002-08-22 22:46:39 +00:00
Chris Lattner a51fa88702 Add capability of using pointer analysis to LICM
llvm-svn: 3478
2002-08-22 21:39:55 +00:00
Chris Lattner faea121df7 Remove long obsolete comments
llvm-svn: 3476
2002-08-22 21:25:54 +00:00
Chris Lattner e46f5528a3 Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll
llvm-svn: 3474
2002-08-22 20:39:29 +00:00
Chris Lattner f6c0efa754 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)

llvm-svn: 3470
2002-08-22 20:22:01 +00:00
Chris Lattner 3a4a335ad8 Add missing #include
llvm-svn: 3467
2002-08-22 18:57:09 +00:00
Chris Lattner 7d58f8ddc0 Check-in new alias analysis infrastructure
llvm-svn: 3465
2002-08-22 18:25:32 +00:00
Chris Lattner 879cb97f63 Convert GCSE pass to use new alias analysis infrastructure
llvm-svn: 3463
2002-08-22 18:24:48 +00:00
Chris Lattner bb53bba9d0 Do not generate load/store instructions with indexing.
llvm-svn: 3461
2002-08-22 16:41:31 +00:00
Chris Lattner f18177ea01 Change code to not use the copyOperands method added to User. It's now
more efficient to boot.

llvm-svn: 3453
2002-08-22 15:57:58 +00:00
Vikram S. Adve 3f76984952 dumpNode() does not need to print MachineInstrs.
llvm-svn: 3444
2002-08-22 02:59:46 +00:00
Vikram S. Adve a6100862d3 Fix two resource names.
llvm-svn: 3443
2002-08-22 02:58:57 +00:00
Vikram S. Adve c3a5e4e0f8 Add AsmPrinter::ConstantExprToString, which writes out a ConstantExpr
as an expression.

llvm-svn: 3442
2002-08-22 02:58:36 +00:00
Vikram S. Adve 2d85a9976a Eliminate bool, boolreg and boolconst nonterminals, and just use
reg and Constant instead.

llvm-svn: 3441
2002-08-22 02:56:10 +00:00