Commit Graph

3531 Commits

Author SHA1 Message Date
Chris Lattner
9568568b75 - Clean up interface to Sparc register handling a bit:
- Eliminate Sparc*Order classes, moving contents to Sparc*Class classes
   - get register name methods now return const char * const pointers instead
     of std::string's.
   - Added file header comments to SparcRegClassInfo.(cpp|h)
   - Moved BIG constant arrays out of SparcRegClassInfo.h, into
     SparcRegInfo.cpp.  This should allow a LOT of std::string constructors to
     not have to be called.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3295 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:25:05 +00:00
Chris Lattner
6ef3369321 Return const char * const instead of std::string from get register name method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3294 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:24:55 +00:00
Chris Lattner
994b9f337b - Added a new superclass of ConstantBool/ConstantInt: ConstantGenericIntegral
- Moved InstCombine: isMaxValue, isMinValue, isAllOnesValue to Constants.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3293 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:21:21 +00:00
Chris Lattner
c0c4d70ad8 Tools are now moved into /shared
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3292 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:20:59 +00:00
Chris Lattner
285af38864 - Makefile changes:
- Now build executables into /shared
   - New BUILD_ROOT_TOP variable which is basically = $(BUILD_ROOT)/$(LEVEL) but
     cleaner and works for llvm/test/*
   - Use := more in Makefile.common


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3291 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:19:28 +00:00
Chris Lattner
233f7dcde3 * Factor a bunch of code by using ReplaceInstUsesWith
* Move isMaxValue, isMinValue, isAllOnesValue to Constants.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3290 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:17:25 +00:00
Chris Lattner
bb6342b052 Remove some extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3289 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 20:24:46 +00:00
Chris Lattner
4228b5aac4 Changes to make GlobalValueRefMap not derive from std::map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3288 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 20:23:29 +00:00
Chris Lattner
ad1023b3cc Add comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3287 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 19:18:49 +00:00
Chris Lattner
8b170945ea New functionality for instcombine:
* New ReplaceInstUsesWith function to factor out tons of common code
     This needs to be used more in the future still, but it's a good start
   * New InsertNewInstBefore to allow multi-instruction replacements
   * Change getMaxValue functions to isAllOnesValue function, which doesn't
     have to CREATE/lookup a new constant.  Also the name is accurate
   * Add new isMaxValue, isMinValue, isMaxValueMinusOne, isMinValuePlusOne
     functions:  This should be moved to Constant* classes eventually
   * Implement xor X, ALLONES -> not X
   * Fold ALL setcc's of booleans away
   * Handle various SetCC's for integers against values at the end of their
     ranges, possibly off by one.  This implements the setcc-strength-reduce.ll
     testcase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3286 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:47:40 +00:00
Chris Lattner
42dbd3044c xor x, ALLONES should -> not x
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3285 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:34:39 +00:00
Chris Lattner
22fae29835 setcc of booleans should always be eliminated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3284 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:34:18 +00:00
Chris Lattner
f8e2cf9221 Add more strength reduction testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3283 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:33:58 +00:00
Chris Lattner
389694834a *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3282 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 22:52:08 +00:00
Chris Lattner
89f2aa5fd8 * IntervalPartition no longer derives from vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3281 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 22:52:06 +00:00
Chris Lattner
cc367a3ea0 Do not add an extra vtable to EVERY machineinstr created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3280 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 21:49:21 +00:00
Chris Lattner
dc1e020444 UnaryOperator::create should take a name just like BinaryOperator::create
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3279 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 21:39:38 +00:00
Chris Lattner
035dfbe7f2 * Removed extraneous #includes
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3278 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:06 +00:00
Chris Lattner
179cdfb5c8 * Removed extraneous #includes
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3277 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:03 +00:00
Chris Lattner
b91b31c12d We are using std::vector, so remove extraneous namespace prefixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3275 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:05:34 +00:00
Chris Lattner
919c4f8a44 Change machinecode for instruction to not inherit from vector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3274 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:04:28 +00:00
Chris Lattner
5b2f502968 The second parameter of hash_set is the default, remove it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3273 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 19:40:42 +00:00
Chris Lattner
43db05a81c Oops, I accidentally broke the .d files. Fixed thusly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3272 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 19:18:12 +00:00
Chris Lattner
b0cfa6dfec Very minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3271 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 18:55:18 +00:00
Chris Lattner
44ac659bc5 * Document the BUILD_ROOT changes and option
* Convert directories to <tt> like they should be


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3270 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 16:14:56 +00:00
Chris Lattner
e16b1b492d * Remove some bogus dependencies on Depend/.dir
* Build into the machine local /shared directory instead of using local
  Debug/Depend/Release directories


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3269 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 15:41:55 +00:00
Chris Lattner
38c633d8fc Oh yeah, I wrote it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3268 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 20:23:41 +00:00
Chris Lattner
c6bb82495c Initial checkin of the "Writting an LLVM Pass" document
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3267 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 20:11:18 +00:00
Chris Lattner
180e568a70 Initial checkin of the "Hello World" Pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3266 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 20:10:38 +00:00
Chris Lattner
5f0eb8da62 - Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
 - Pass::getAnalysis<> now no longer takes an optional argument


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3265 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 19:01:30 +00:00
Chris Lattner
dd5b495129 - Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
 - Pass::getAnalysis<> now no longer takes an optional argument


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3264 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 19:01:28 +00:00
Chris Lattner
5791bb70b1 - Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
 - Pass::getAnalysis<> now no longer takes an optional argument


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3263 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 19:01:11 +00:00
Chris Lattner
c6b227ecc4 Remove extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3262 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-08 19:00:34 +00:00
Chris Lattner
221c97974c Minor changes to DEBUG()'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3261 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 21:41:11 +00:00
Chris Lattner
13c476cbd1 Reorder #includes to be right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3260 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 21:41:03 +00:00
Chris Lattner
637ed869e6 Merge three loops into one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3259 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 21:39:48 +00:00
Chris Lattner
075f028b77 Fix breakage in the build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3258 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 21:39:39 +00:00
Chris Lattner
a4ff0d4611 Only include the sparc.o file once!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3257 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 19:42:34 +00:00
Chris Lattner
9b14eb5a78 Simplify writing custom parsers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3256 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 18:36:37 +00:00
Chris Lattner
d23a35bc2b Simplify interface to parsers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3255 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 18:36:27 +00:00
Chris Lattner
c1ae40c180 * Write the "Custom parser" section
* Boldify stuff that changes in the help output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3254 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-07 18:27:04 +00:00
Chris Lattner
e76d4abfe2 Write the reference section, make other minor editing changes elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3253 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-06 19:36:06 +00:00
Mehwish Nagda
5acd166ff5 added Mapping and Function Pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3251 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-05 23:23:19 +00:00
Vikram S. Adve
b8a45c9fe9 Add function GetConstantValueAsUnsignedInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3249 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-04 20:55:59 +00:00
Vikram S. Adve
a40cbb3b7e Bug fix in CreateCodeToLoadConst(): use sign of dest, not operand,
in choosing how to create int-set instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3248 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-04 20:55:37 +00:00
Vikram S. Adve
7894d56023 Add a sequence of GEPs with constant indices, for folding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3247 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-04 20:53:14 +00:00
Vikram S. Adve
ed0030e2bc Bug fix in TargetData::getIndexedOffset(): handle struct offset
after array offset correctly.  The type was not being updated for
array offsets!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3246 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-04 20:52:39 +00:00
Vikram S. Adve
99d4a38c77 Bug fix in SetOperandsForMemInstr: handle leading zeros correctly
when folding or not folding GEPs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3245 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-04 20:51:05 +00:00
Vikram S. Adve
1b51b1b4f9 Add function GetConstantValueAsUnsignedInt.
Fix 2 bugs in FoldGetElemChain so index vector is not modified
when no GEPs are folded in, and so a hasLeadingZero is computed
only for the last folded GEP, not the one after that if any.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3244 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-04 20:49:49 +00:00
Chris Lattner
75ac4e511a Fix compilation problem. IsIndexZero doesn't exist, use IsZero instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3243 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-03 20:57:38 +00:00