Chris Lattner [Fri, 6 Sep 2002 02:02:58 +0000 (02:02 +0000)]
* Remove notes at the top of the file
* Add information about how to debug a dynamically loaded pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3583
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 5 Sep 2002 18:36:41 +0000 (18:36 +0000)]
Add new function MachineInstrInfo::CreateZeroExtensionInstructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3582
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 5 Sep 2002 18:34:31 +0000 (18:34 +0000)]
Add new function UltraSparcInstrInfo::CreateZeroExtensionInstructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3581
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 5 Sep 2002 18:33:59 +0000 (18:33 +0000)]
Bug fixes in casting between floats and ints smaller than 64 bits.
Add UltraSparcInstrInfo::CreateZeroExtensionInstructions to help with that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3580
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 5 Sep 2002 18:32:13 +0000 (18:32 +0000)]
-- Use size of pointer element type instead of pointer type in array offsets!
-- A few bug fixes in casting between floats and ints.
-- Use SRL reg, 0 instead of AND reg, 0xffffffff to clear high 32 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3579
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 5 Sep 2002 18:28:10 +0000 (18:28 +0000)]
-- Bug fix: use byte offsets not typed offsets in output assembly!
-- Add support for ConstantExpr constants (only cast and add operators so far)
-- Avoid generating label Bbss.bss, which sometimes came out twice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3578
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Sep 2002 23:12:40 +0000 (23:12 +0000)]
Minor bug fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3577
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Sep 2002 20:09:49 +0000 (20:09 +0000)]
Implement setcc for booleans. Fixes bug:
test/Regression/Transforms/ConstProp/2002-09-03-SetCC-Bools.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3576
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Sep 2002 20:09:23 +0000 (20:09 +0000)]
Make sure that setcc is implemented for bools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3575
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Sep 2002 01:08:28 +0000 (01:08 +0000)]
- Renamed Type::isIntegral() to Type::isInteger()
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3574
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Sep 2002 01:07:35 +0000 (01:07 +0000)]
- Renamed Type::isIntegral() to Type::isInteger()
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3573
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Sep 2002 01:05:48 +0000 (01:05 +0000)]
- Renamed Type::isIntegral() to Type::isInteger()
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
SCVS: ----------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3572
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Sep 2002 01:05:31 +0000 (01:05 +0000)]
Implement operator== and != for ranges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3571
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 3 Sep 2002 00:52:52 +0000 (00:52 +0000)]
Add distinction between integer and integral types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3570
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Sep 2002 20:49:27 +0000 (20:49 +0000)]
Fix bugs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3569
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Sep 2002 04:59:56 +0000 (04:59 +0000)]
Add constant prop & DIE to InstCombine, so it cleans up after itself
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3568
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Sep 2002 04:04:11 +0000 (04:04 +0000)]
Remove duplicate #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3567
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Sep 2002 00:18:26 +0000 (00:18 +0000)]
Add printing support to ConstantRange class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3566
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 2 Sep 2002 00:18:22 +0000 (00:18 +0000)]
Add printing support to ConstantRange class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3565
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Sep 2002 23:53:39 +0000 (23:53 +0000)]
Initial implementation of ConstantRange support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3564
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Sep 2002 23:53:36 +0000 (23:53 +0000)]
Initial implementation of ConstantRange support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Sep 2002 19:46:40 +0000 (19:46 +0000)]
- Exposed SetCondInst::getInverseCondition & ::getSwappedCondition better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 1 Sep 2002 19:46:36 +0000 (19:46 +0000)]
- Exposed SetCondInst::getInverseCondition & ::getSwappedCondition better
- Doxygenized iOperators.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 Aug 2002 00:30:15 +0000 (00:30 +0000)]
- Converted CWriter to be an LLVM pass.
- Convert dis to use a PassManager to do it's work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3560
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 Aug 2002 00:29:36 +0000 (00:29 +0000)]
Get FindUsedTypes pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3559
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 Aug 2002 00:29:16 +0000 (00:29 +0000)]
- Fix bug: test/Regression/CBackend/2002-08-20-RecursiveTypes.ll
- Converted CWriter to be an LLVM pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3558
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 Aug 2002 00:28:25 +0000 (00:28 +0000)]
Convert cwriter to be a pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3557
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 31 Aug 2002 00:24:54 +0000 (00:24 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3556
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 23:39:00 +0000 (23:39 +0000)]
- Implement SCCP of getelementptr instructions
- Implement SCCP of globals into ConstantExprs hopefully opening new
opportunities for more SCCP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3555
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 23:22:15 +0000 (23:22 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3554
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:55:32 +0000 (22:55 +0000)]
- Reformat comments
- 'gccas' puts verifier in logical place in pass procession to avoid
recomputing dominator information unneccesarily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3553
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:54:41 +0000 (22:54 +0000)]
- 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3552
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:54:37 +0000 (22:54 +0000)]
- 'analyze' and 'as' now explicitly verify input because AsmParser doesn't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3551
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:53:53 +0000 (22:53 +0000)]
- Eliminate the last traces of the 'analysis' namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3550
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:53:30 +0000 (22:53 +0000)]
Really minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3549
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:52:23 +0000 (22:52 +0000)]
AsmParser now depends on clients to verify that input is well formed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3548
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:51:21 +0000 (22:51 +0000)]
Update comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3547
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:51:08 +0000 (22:51 +0000)]
Fix comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3546
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:30:51 +0000 (22:30 +0000)]
Merged into ValueNumbering.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3545
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 22:30:36 +0000 (22:30 +0000)]
Minor cleanups so I can remove BasicValueNumbering.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3544
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 21:50:21 +0000 (21:50 +0000)]
Add "written by" note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3543
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 20:30:03 +0000 (20:30 +0000)]
Initial implementation of basic value numbering
This file will probably go away at some point
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 20:29:02 +0000 (20:29 +0000)]
initial implementation of ValueNumbering interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3541
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 20:28:10 +0000 (20:28 +0000)]
Initial implementation of value numbering for load instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3540
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 20:27:48 +0000 (20:27 +0000)]
Initial version of LoadValueNumbering interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3539
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 20:27:15 +0000 (20:27 +0000)]
Initial version of ValueNumbering interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3538
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 20:25:41 +0000 (20:25 +0000)]
Link to analysis.o not analysis.a
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3537
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 30 Aug 2002 20:25:25 +0000 (20:25 +0000)]
- 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
Chris Lattner [Fri, 30 Aug 2002 20:25:01 +0000 (20:25 +0000)]
- 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
Chris Lattner [Fri, 30 Aug 2002 20:23:45 +0000 (20:23 +0000)]
- 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
Chris Lattner [Fri, 30 Aug 2002 20:22:29 +0000 (20:22 +0000)]
- 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
Chris Lattner [Fri, 30 Aug 2002 20:20:39 +0000 (20:20 +0000)]
- 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
Chris Lattner [Fri, 30 Aug 2002 20:19:49 +0000 (20:19 +0000)]
- 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
Chris Lattner [Fri, 30 Aug 2002 20:18:09 +0000 (20:18 +0000)]
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
Vikram S. Adve [Fri, 30 Aug 2002 03:27:36 +0000 (03:27 +0000)]
Eliminate hardcoded paths using LLVMGCCDIR variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3529
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 30 Aug 2002 03:27:09 +0000 (03:27 +0000)]
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
Vikram S. Adve [Thu, 29 Aug 2002 23:28:46 +0000 (23:28 +0000)]
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
Vikram S. Adve [Thu, 29 Aug 2002 23:27:38 +0000 (23:27 +0000)]
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
Chris Lattner [Thu, 29 Aug 2002 20:10:29 +0000 (20:10 +0000)]
New datastructure analysis correctly uses TargetData
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3525
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Aug 2002 20:08:55 +0000 (20:08 +0000)]
Remove unneeded #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3524
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Aug 2002 20:08:39 +0000 (20:08 +0000)]
Fix comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3523
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 29 Aug 2002 20:07:59 +0000 (20:07 +0000)]
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
Vikram S. Adve [Thu, 29 Aug 2002 18:40:51 +0000 (18:40 +0000)]
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
Chris Lattner [Thu, 29 Aug 2002 18:33:48 +0000 (18:33 +0000)]
Comment out broken link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3520
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Tue, 27 Aug 2002 22:47:33 +0000 (22:47 +0000)]
moved this file from lib/Reoptimizer/Mapping
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3519
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Tue, 27 Aug 2002 22:46:38 +0000 (22:46 +0000)]
Makefile for new sub directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3518
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Tue, 27 Aug 2002 22:45:49 +0000 (22:45 +0000)]
Added Mapping subdir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3517
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Aug 2002 22:33:45 +0000 (22:33 +0000)]
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
Anand Shukla [Tue, 27 Aug 2002 22:05:53 +0000 (22:05 +0000)]
added Reoptimizer in Makefile DIRS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3515
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Tue, 27 Aug 2002 16:46:11 +0000 (16:46 +0000)]
Added mapping lib in llc makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3514
91177308-0d34-0410-b5e6-
96231b3b80d8
Anand Shukla [Tue, 27 Aug 2002 16:45:17 +0000 (16:45 +0000)]
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
Chris Lattner [Mon, 26 Aug 2002 20:50:09 +0000 (20:50 +0000)]
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
Chris Lattner [Mon, 26 Aug 2002 20:49:42 +0000 (20:49 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3510
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 26 Aug 2002 17:53:56 +0000 (17:53 +0000)]
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
Anand Shukla [Mon, 26 Aug 2002 16:45:19 +0000 (16:45 +0000)]
Changed so it gets linked properly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3508
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 25 Aug 2002 22:54:55 +0000 (22:54 +0000)]
Convert comments to Doxygen style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3507
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 25 Aug 2002 20:00:08 +0000 (20:00 +0000)]
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
Vikram S. Adve [Sat, 24 Aug 2002 21:03:10 +0000 (21:03 +0000)]
Added function GetMemInstArgs and made FoldGetElemChain private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3503
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 24 Aug 2002 21:02:42 +0000 (21:02 +0000)]
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
Vikram S. Adve [Sat, 24 Aug 2002 21:02:09 +0000 (21:02 +0000)]
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
Vikram S. Adve [Sat, 24 Aug 2002 21:00:08 +0000 (21:00 +0000)]
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
Vikram S. Adve [Sat, 24 Aug 2002 20:58:04 +0000 (20:58 +0000)]
LoadIdx non-terminal no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3499
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 24 Aug 2002 20:56:53 +0000 (20:56 +0000)]
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
Vikram S. Adve [Sat, 24 Aug 2002 14:44:58 +0000 (14:44 +0000)]
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
Vikram S. Adve [Sat, 24 Aug 2002 14:44:23 +0000 (14:44 +0000)]
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
Chris Lattner [Fri, 23 Aug 2002 18:32:43 +0000 (18:32 +0000)]
- 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
Chris Lattner [Fri, 23 Aug 2002 18:31:18 +0000 (18:31 +0000)]
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
Chris Lattner [Fri, 23 Aug 2002 18:30:58 +0000 (18:30 +0000)]
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
Anand Shukla [Fri, 23 Aug 2002 10:55:49 +0000 (10:55 +0000)]
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
Anand Shukla [Fri, 23 Aug 2002 10:54:26 +0000 (10:54 +0000)]
Added #include <alloca.h>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3491
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 23 Aug 2002 03:21:01 +0000 (03:21 +0000)]
Simplify previous hack slightly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3490
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 23 Aug 2002 02:55:51 +0000 (02:55 +0000)]
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
Chris Lattner [Thu, 22 Aug 2002 23:37:24 +0000 (23:37 +0000)]
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
Chris Lattner [Thu, 22 Aug 2002 23:37:20 +0000 (23:37 +0000)]
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
Chris Lattner [Thu, 22 Aug 2002 22:54:10 +0000 (22:54 +0000)]
Load & Store Inst now no longer derive from MemAccessInst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3486
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 22 Aug 2002 22:49:05 +0000 (22:49 +0000)]
Load & StoreInst no longer derive from MemAccessInst, so we don't have
to handle indexing anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3485
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 22 Aug 2002 22:48:55 +0000 (22:48 +0000)]
Load & StoreInst no longer derive from MemAccessInst, so we don't have
to handle indexing anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3484
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 22 Aug 2002 22:48:32 +0000 (22:48 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3483
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 22 Aug 2002 22:47:47 +0000 (22:47 +0000)]
Load and Store now no longer derive from MemAccessInst. Indexing a load or
store is not possible anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3482
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 22 Aug 2002 22:46:39 +0000 (22:46 +0000)]
doxygenize comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3481
91177308-0d34-0410-b5e6-
96231b3b80d8