Commit Graph

3667 Commits

Author SHA1 Message Date
Chris Lattner
d7f672538a Initial version of LoadValueNumbering interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3539 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:27:48 +00:00
Chris Lattner
dcee11cd0a Initial version of ValueNumbering interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:27:15 +00:00
Chris Lattner
c619fa4ae5 Link to analysis.o not analysis.a
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3537 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:25:41 +00:00
Chris Lattner
1b7fbef3d3 - GCCAS now uses load value #ing for GCSE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3536 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:25:25 +00:00
Chris Lattner
a3cd9de40e - 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3535 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:25:01 +00:00
Chris Lattner
1c28b42310 - PassManager prints analysis sets nicer
- Use Pass::AnalysisImpls instead of findAnalysisGroupMemeber


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3534 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:23:45 +00:00
Chris Lattner
14987f16b4 - 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3533 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:22:29 +00:00
Chris Lattner
ada23c05f5 - PassInfo class keeps track of AnalysisGroups implemented by the Pass.
- Doxygenize comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3532 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:20:39 +00:00
Chris Lattner
76a8f7fb5a - Pass now has AnalysisImpls class to implement getAnalysis() so that it is
correct even when called back by another passes run method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3531 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:19:49 +00:00
Chris Lattner
1a24282b5c Make sure to run these tests with load value #'ing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3530 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:18:09 +00:00
Vikram S. Adve
f9017b810a Eliminate hardcoded paths using LLVMGCCDIR variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3529 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 03:27:36 +00:00
Vikram S. Adve
bf587f3244 Add LLVMGCCDIR variable to eliminate hardcoded paths from test/Makefile.tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3528 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 03:27:09 +00:00
Vikram S. Adve
c214e71edf Simplified significantly by pulling out local configuration options
into Makefile.config.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3527 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 23:28:46 +00:00
Vikram S. Adve
049857e2a9 Local configuration options for a particular installation of LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3526 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 23:27:38 +00:00
Chris Lattner
e52e913626 New datastructure analysis correctly uses TargetData
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3525 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:10:29 +00:00
Chris Lattner
04b9025450 Remove unneeded #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3524 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:08:55 +00:00
Chris Lattner
c46c04c2ac Fix comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3523 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:08:39 +00:00
Chris Lattner
3f917b6f99 Make the getAnalyss<> members const. Using them does NOT modify the Pass object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:07:59 +00:00
Vikram S. Adve
764b46ea2d Factor out /shared/... path to simplify changing it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3521 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 18:40:51 +00:00
Chris Lattner
690d99b31b Comment out broken link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3520 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 18:33:48 +00:00
Anand Shukla
b85d265b16 moved this file from lib/Reoptimizer/Mapping
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3519 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 22:47:33 +00:00
Anand Shukla
894e830100 Makefile for new sub directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3518 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 22:46:38 +00:00
Anand Shukla
2caa9204b2 Added Mapping subdir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3517 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 22:45:49 +00:00
Chris Lattner
a34c5689dd Implement ConstantPointerRef support, & ConstantExpr support for Cast, GEP & Add.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3516 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 22:33:45 +00:00
Anand Shukla
26022027be added Reoptimizer in Makefile DIRS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3515 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 22:05:53 +00:00
Anand Shukla
ecbb51b27e Added mapping lib in llc makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3514 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 16:46:11 +00:00
Anand Shukla
5993829fbd Added getFunctionInfo and MappingInfoForFunction pass, and fixed the earlier error in compiling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3513 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-27 16:45:17 +00:00
Chris Lattner
fabc8803a3 Fix bug: test/Regression/CBackend/2002-08-26-IndirectCallTest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3511 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-26 20:50:09 +00:00
Chris Lattner
aa250b8067 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3510 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-26 20:49:42 +00:00
Chris Lattner
93aeea3748 Add support for turning an array of characters into a string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3509 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-26 17:53:56 +00:00
Anand Shukla
e0b6b78e09 Changed so it gets linked properly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3508 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-26 16:45:19 +00:00
Chris Lattner
2619905926 Convert comments to Doxygen style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-25 22:54:55 +00:00
Vikram S. Adve
969c4ad65d 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3506 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-25 20:00:08 +00:00
Vikram S. Adve
df3fe55e57 Added function GetMemInstArgs and made FoldGetElemChain private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 21:03:10 +00:00
Vikram S. Adve
2730a38485 Added support for type inquiry in subclasses of InstTreeNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3502 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 21:02:42 +00:00
Vikram S. Adve
74c83e44fa Use newly-added type inspection support in InstTreeNode subclasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3501 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 21:02:09 +00:00
Vikram S. Adve
685133382d 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3500 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 21:00:08 +00:00
Vikram S. Adve
f28d9d643e LoadIdx non-terminal no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3499 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 20:58:04 +00:00
Vikram S. Adve
8cfffd3a3e 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3498 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 20:56:53 +00:00
Vikram S. Adve
f519b999a6 Fix sign-extension: it needs to happen *after* multiplying by type size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3497 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 14:44:58 +00:00
Vikram S. Adve
42eb2bae8e Sign-extend array index expressions to work correctly on non-32 bit machines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3496 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 14:44:23 +00:00
Chris Lattner
e6f9a91618 - instcombine demorgan's law: and (not A), (not B) == not (or A, B)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3495 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 18:32:43 +00:00
Chris Lattner
31901f80f8 Test that demorgan's law is instcombined successfully
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3494 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 18:31:18 +00:00
Chris Lattner
615cdb92ee Implement classof for SetCondInst so that instcombine doesn't break on dyn_cast<SetCondInst>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3493 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 18:30:58 +00:00
Anand Shukla
ed0f1c5285 Changed default value of 3rd parameter in function definition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3492 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 10:55:49 +00:00
Anand Shukla
6656c43ac7 Added #include <alloca.h>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3491 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 10:54:26 +00:00
Vikram S. Adve
cfa4f4a102 Simplify previous hack slightly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3490 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 03:21:01 +00:00
Vikram S. Adve
69f3b72594 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3489 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 02:55:51 +00:00
Chris Lattner
3bb8ad27a8 Eliminated the MemAccessInst class, folding contents into GEP class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3488 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 23:37:24 +00:00
Chris Lattner
cc63f1c674 Eliminated the MemAccessInst class, folding contents into GEP class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3487 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 23:37:20 +00:00