oota-llvm.git
22 years agoWrite constexpr casts using the cast X to Y notation, not using the implicit
Chris Lattner [Thu, 15 Aug 2002 19:37:43 +0000 (19:37 +0000)]
Write constexpr casts using the cast X to Y notation, not using the implicit
type result

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3354 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoParse const expr cast instruction the same way the instruction is formed
Chris Lattner [Thu, 15 Aug 2002 19:37:11 +0000 (19:37 +0000)]
Parse const expr cast instruction the same way the instruction is formed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3353 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a note mentioning that bools promote to 0 or 1
Chris Lattner [Thu, 15 Aug 2002 19:36:05 +0000 (19:36 +0000)]
Add a note mentioning that bools promote to 0 or 1

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3352 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMove ConstExpr production to unify ConstVal stuff
Chris Lattner [Thu, 15 Aug 2002 18:17:28 +0000 (18:17 +0000)]
Move ConstExpr production to unify ConstVal stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3351 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix bug: test/Regression/Assembler/2002-08-15-UnresolvedGlobalReference.ll
Chris Lattner [Thu, 15 Aug 2002 17:58:33 +0000 (17:58 +0000)]
Fix bug: test/Regression/Assembler/2002-08-15-UnresolvedGlobalReference.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3350 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoThere seem to be issues with constant exprs
Chris Lattner [Thu, 15 Aug 2002 17:04:40 +0000 (17:04 +0000)]
There seem to be issues with constant exprs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3349 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoSimplify the code
Chris Lattner [Thu, 15 Aug 2002 16:15:36 +0000 (16:15 +0000)]
Simplify the code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3348 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoHandle more cases of cast-of-cast in more general forms.
Chris Lattner [Thu, 15 Aug 2002 16:15:25 +0000 (16:15 +0000)]
Handle more cases of cast-of-cast in more general forms.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3347 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove the last traces of the NOT instruction
Chris Lattner [Thu, 15 Aug 2002 16:14:49 +0000 (16:14 +0000)]
Remove the last traces of the NOT instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3346 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a bunch of testcases for cast-of-casts that should be removed.
Chris Lattner [Thu, 15 Aug 2002 16:13:29 +0000 (16:13 +0000)]
Add a bunch of testcases for cast-of-casts that should be removed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3345 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoChange opLabel numbers for Not and BNot.
Vikram S. Adve [Thu, 15 Aug 2002 14:20:45 +0000 (14:20 +0000)]
Change opLabel numbers for Not and BNot.
Also, these tree nodes are now binary, not unary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3344 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoUnary Not (boolean and bitwise) is no longer a separate LLVM instruction
Vikram S. Adve [Thu, 15 Aug 2002 14:19:22 +0000 (14:19 +0000)]
Unary Not (boolean and bitwise) is no longer a separate LLVM instruction
but is instead implemented with XOR.  Note that the InstrForest opLabels
for Not and BNot remain the same, i.e., the XOR is recognized and
represented as a (boolean or bitwise) Not when building the instruction
trees.  But these tree nodes are now binary, not unary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3343 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRevise code generation for unary Not (boolean and bitwise), which is
Vikram S. Adve [Thu, 15 Aug 2002 14:17:37 +0000 (14:17 +0000)]
Revise code generation for unary Not (boolean and bitwise), which is
no longer a separate instruction but is instead implemented with XOR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3342 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdded more helper functions for binary instructions emulating
Vikram S. Adve [Thu, 15 Aug 2002 14:15:48 +0000 (14:15 +0000)]
Added more helper functions for binary instructions emulating
unary Neg and Not: isNeg, isNot, getNegArgument, and getNotArgument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3341 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd tests for unary NOT operations.
Vikram S. Adve [Thu, 15 Aug 2002 14:09:56 +0000 (14:09 +0000)]
Add tests for unary NOT operations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3340 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplement capability to fold this:
Chris Lattner [Wed, 14 Aug 2002 23:21:10 +0000 (23:21 +0000)]
Implement capability to fold this:
uint %test4(int %A, int %B) {
        %COND = setlt int %A, %B                ; <bool> [#uses=1]
        %result = cast bool %COND to uint               ; <uint> [#uses=1]
        ret uint %result
}
into a single cast instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3339 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix testcase to actually test what we think we are
Chris Lattner [Wed, 14 Aug 2002 23:01:19 +0000 (23:01 +0000)]
Fix testcase to actually test what we think we are

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3338 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAvoid creating 'load X, 0' instead of just 'load X'
Chris Lattner [Wed, 14 Aug 2002 22:11:52 +0000 (22:11 +0000)]
Avoid creating 'load X, 0' instead of just 'load X'

This _trivial_ change causes GCSE and LICM to be much more effective at
hoisting loads.  Before it would not be able to eliminate 'load X' if there
was just a dominating 'load X, 0' because the expressions were not identical.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3337 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAvoid inserting an entry block unless we need it
Chris Lattner [Wed, 14 Aug 2002 21:35:02 +0000 (21:35 +0000)]
Avoid inserting an entry block unless we need it

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3336 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoGross, some whitespace escaped
Chris Lattner [Wed, 14 Aug 2002 20:07:01 +0000 (20:07 +0000)]
Gross, some whitespace escaped

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3335 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix bug in documentation
Chris Lattner [Wed, 14 Aug 2002 20:06:13 +0000 (20:06 +0000)]
Fix bug in documentation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3334 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago*** empty log message ***
Chris Lattner [Wed, 14 Aug 2002 19:29:38 +0000 (19:29 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3333 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoThis file does not belong here.
Chris Lattner [Wed, 14 Aug 2002 19:29:32 +0000 (19:29 +0000)]
This file does not belong here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3332 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix tests that use the now dead not instruction
Chris Lattner [Wed, 14 Aug 2002 19:28:22 +0000 (19:28 +0000)]
Fix tests that use the now dead not instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3331 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix testcases that used to now dead 'not' instruction
Chris Lattner [Wed, 14 Aug 2002 19:28:09 +0000 (19:28 +0000)]
Fix testcases that used to now dead 'not' instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3330 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoChange not's to xors
Chris Lattner [Wed, 14 Aug 2002 19:26:34 +0000 (19:26 +0000)]
Change not's to xors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3329 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove support for Not ConstantExpr. This simplifies the unary case to only
Chris Lattner [Wed, 14 Aug 2002 18:24:09 +0000 (18:24 +0000)]
Remove support for Not ConstantExpr.  This simplifies the unary case to only
have to support the cast instruction, so the function is renamed to getCast.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3328 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix bug introduced in last checkin due to CastInst not being visible
Chris Lattner [Wed, 14 Aug 2002 18:22:19 +0000 (18:22 +0000)]
Fix bug introduced in last checkin due to CastInst not being visible

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3327 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove support for unary operators.
Chris Lattner [Wed, 14 Aug 2002 18:19:46 +0000 (18:19 +0000)]
Remove support for unary operators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3326 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove reference to GenericUnaryInst class
Chris Lattner [Wed, 14 Aug 2002 18:18:50 +0000 (18:18 +0000)]
Remove reference to GenericUnaryInst class

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3325 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove support for unary instructions
Chris Lattner [Wed, 14 Aug 2002 18:18:28 +0000 (18:18 +0000)]
Remove support for unary instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3324 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove support for NOT instruction
Chris Lattner [Wed, 14 Aug 2002 18:18:02 +0000 (18:18 +0000)]
Remove support for NOT instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3323 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove extra #includes
Chris Lattner [Wed, 14 Aug 2002 18:17:32 +0000 (18:17 +0000)]
Remove extra #includes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3322 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove constant propogation support for NOT instruction
Chris Lattner [Wed, 14 Aug 2002 18:17:07 +0000 (18:17 +0000)]
Remove constant propogation support for NOT instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3321 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove support for NOT instruction
Chris Lattner [Wed, 14 Aug 2002 18:00:52 +0000 (18:00 +0000)]
Remove support for NOT instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3320 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove information about dead 'not' instruction
Chris Lattner [Wed, 14 Aug 2002 17:55:59 +0000 (17:55 +0000)]
Remove information about dead 'not' instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3319 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove support for unary operators
Chris Lattner [Wed, 14 Aug 2002 17:53:45 +0000 (17:53 +0000)]
Remove support for unary operators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3318 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoImplement two constructor functions for "unary" instructions
Chris Lattner [Wed, 14 Aug 2002 17:52:27 +0000 (17:52 +0000)]
Implement two constructor functions for "unary" instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3317 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove support forNOT instruction
Chris Lattner [Wed, 14 Aug 2002 17:52:06 +0000 (17:52 +0000)]
Remove support forNOT instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3316 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago - Fix InstCombine pass to not generate or process NOT instructions
Chris Lattner [Wed, 14 Aug 2002 17:51:49 +0000 (17:51 +0000)]
  - Fix InstCombine pass to not generate or process NOT instructions
    - Fixed testcases to not use them either.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3315 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoExpose two new static methods from BinaryOperator: createNeg, createNot
Chris Lattner [Wed, 14 Aug 2002 17:51:29 +0000 (17:51 +0000)]
Expose two new static methods from BinaryOperator: createNeg, createNot

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3314 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove support for NOT instruction
Chris Lattner [Wed, 14 Aug 2002 17:45:39 +0000 (17:45 +0000)]
Remove support for NOT instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3313 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoRemove illegal test now that not instruction does not exist.
Chris Lattner [Wed, 14 Aug 2002 17:44:00 +0000 (17:44 +0000)]
Remove illegal test now that not instruction does not exist.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3312 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMake sure there is SOME output always so the test is not rerun when unneccesary.
Chris Lattner [Wed, 14 Aug 2002 17:38:15 +0000 (17:38 +0000)]
Make sure there is SOME output always so the test is not rerun when unneccesary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3311 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoThe not instruction is just a specialized form of XOR
Chris Lattner [Wed, 14 Aug 2002 17:37:04 +0000 (17:37 +0000)]
The not instruction is just a specialized form of XOR

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3310 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAsmParser turns 'not' instructions into 'xor' instructions now.
Chris Lattner [Wed, 14 Aug 2002 17:12:33 +0000 (17:12 +0000)]
AsmParser turns 'not' instructions into 'xor' instructions now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3309 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoReturn null on failure, instead of aborting.
Chris Lattner [Wed, 14 Aug 2002 17:12:13 +0000 (17:12 +0000)]
Return null on failure, instead of aborting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3308 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd method MachineInstr::substituteValue() which substitutes
Vikram S. Adve [Wed, 14 Aug 2002 16:54:11 +0000 (16:54 +0000)]
Add method MachineInstr::substituteValue() which substitutes
one Value with another one in all operands and implicit references
of the machine instruction.

Also add method MachineOperand::getVRegValueOrNull().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3307 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd method MachineInstr::substituteValue() which substitutes
Vikram S. Adve [Wed, 14 Aug 2002 16:52:58 +0000 (16:52 +0000)]
Add method MachineInstr::substituteValue() which substitutes
one Value with another one in all operands and implicit references
of the machine instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3306 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoUpdated GettingStarted guide to be accurate now that binaries are in /shared
Chris Lattner [Tue, 13 Aug 2002 21:10:30 +0000 (21:10 +0000)]
Updated GettingStarted guide to be accurate now that binaries are in /shared

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3305 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd a note that specifies that the whether or not sign extension is done by
Chris Lattner [Tue, 13 Aug 2002 20:52:09 +0000 (20:52 +0000)]
Add a note that specifies that the whether or not sign extension is done by
a cast is determined by the source operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3304 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMinor change to make lli print out characters numerically as well as symbolically
Chris Lattner [Tue, 13 Aug 2002 20:45:11 +0000 (20:45 +0000)]
Minor change to make lli print out characters numerically as well as symbolically

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3303 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoBug fix in TargetData::getIndexedOffset: We were using the pointer
Vikram S. Adve [Tue, 13 Aug 2002 18:17:56 +0000 (18:17 +0000)]
Bug fix in TargetData::getIndexedOffset: We were using the pointer
type instead of the element type for the element size for arrays.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3302 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoSeveral bug fixes in casting to signed int values.
Vikram S. Adve [Tue, 13 Aug 2002 18:04:08 +0000 (18:04 +0000)]
Several bug fixes in casting to signed int values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3301 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago- Rename ConstantGenericIntegral -> ConstantIntegral
Chris Lattner [Tue, 13 Aug 2002 17:50:24 +0000 (17:50 +0000)]
- Rename ConstantGenericIntegral -> ConstantIntegral

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3300 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago- Rename ConstantGenericIntegral -> ConstantIntegral
Chris Lattner [Tue, 13 Aug 2002 17:50:20 +0000 (17:50 +0000)]
- Rename ConstantGenericIntegral -> ConstantIntegral
 - Add new methods to ConstantIntegral: getMaxValue, getMinValue,
   getAllOnesValue

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3299 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago - Rename ConstantGenericIntegral -> ConstantIntegral
Chris Lattner [Tue, 13 Aug 2002 17:50:18 +0000 (17:50 +0000)]
 - Rename ConstantGenericIntegral -> ConstantIntegral
 - Add new methods to ConstantIntegral: getMaxValue, getMinValue,
   getAllOnesValue

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3298 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoHandle small unsigned results correctly by clearing high bits.
Vikram S. Adve [Tue, 13 Aug 2002 17:40:54 +0000 (17:40 +0000)]
Handle small unsigned results correctly by clearing high bits.
Bug fixes in casting to signed int values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3297 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoBuild correctly in the face of /shared.
Brian Ensink [Mon, 12 Aug 2002 22:09:44 +0000 (22:09 +0000)]
Build correctly in the face of /shared.

-Chris

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3296 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago - Clean up interface to Sparc register handling a bit:
Chris Lattner [Mon, 12 Aug 2002 21:25:05 +0000 (21:25 +0000)]
 - 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

22 years agoReturn const char * const instead of std::string from get register name method
Chris Lattner [Mon, 12 Aug 2002 21:24:55 +0000 (21:24 +0000)]
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

22 years ago - Added a new superclass of ConstantBool/ConstantInt: ConstantGenericIntegral
Chris Lattner [Mon, 12 Aug 2002 21:21:21 +0000 (21:21 +0000)]
 - 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

22 years agoTools are now moved into /shared
Chris Lattner [Mon, 12 Aug 2002 21:20:59 +0000 (21:20 +0000)]
Tools are now moved into /shared

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3292 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago - Makefile changes:
Chris Lattner [Mon, 12 Aug 2002 21:19:28 +0000 (21:19 +0000)]
 - 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

22 years ago* Factor a bunch of code by using ReplaceInstUsesWith
Chris Lattner [Mon, 12 Aug 2002 21:17:25 +0000 (21:17 +0000)]
* 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

22 years agoRemove some extraneous #includes
Chris Lattner [Mon, 12 Aug 2002 20:24:46 +0000 (20:24 +0000)]
Remove some extraneous #includes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3289 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoChanges to make GlobalValueRefMap not derive from std::map.
Chris Lattner [Mon, 12 Aug 2002 20:23:29 +0000 (20:23 +0000)]
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

22 years agoAdd comment
Chris Lattner [Mon, 12 Aug 2002 19:18:49 +0000 (19:18 +0000)]
Add comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3287 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoNew functionality for instcombine:
Chris Lattner [Fri, 9 Aug 2002 23:47:40 +0000 (23:47 +0000)]
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

22 years agoxor x, ALLONES should -> not x
Chris Lattner [Fri, 9 Aug 2002 23:34:39 +0000 (23:34 +0000)]
xor x, ALLONES should -> not x

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3285 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agosetcc of booleans should always be eliminated
Chris Lattner [Fri, 9 Aug 2002 23:34:18 +0000 (23:34 +0000)]
setcc of booleans should always be eliminated

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3284 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoAdd more strength reduction testcases
Chris Lattner [Fri, 9 Aug 2002 23:33:58 +0000 (23:33 +0000)]
Add more strength reduction testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3283 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago*** empty log message ***
Chris Lattner [Fri, 9 Aug 2002 22:52:08 +0000 (22:52 +0000)]
*** empty log message ***

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3282 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* IntervalPartition no longer derives from vector
Chris Lattner [Fri, 9 Aug 2002 22:52:06 +0000 (22:52 +0000)]
* IntervalPartition no longer derives from vector

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3281 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoDo not add an extra vtable to EVERY machineinstr created.
Chris Lattner [Fri, 9 Aug 2002 21:49:21 +0000 (21:49 +0000)]
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

22 years agoUnaryOperator::create should take a name just like BinaryOperator::create
Chris Lattner [Fri, 9 Aug 2002 21:39:38 +0000 (21:39 +0000)]
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

22 years ago* Removed extraneous #includes
Chris Lattner [Fri, 9 Aug 2002 20:08:06 +0000 (20:08 +0000)]
* 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

22 years ago* Removed extraneous #includes
Chris Lattner [Fri, 9 Aug 2002 20:08:03 +0000 (20:08 +0000)]
* 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

22 years agoWe are using std::vector, so remove extraneous namespace prefixes
Chris Lattner [Fri, 9 Aug 2002 20:05:34 +0000 (20:05 +0000)]
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

22 years agoChange machinecode for instruction to not inherit from vector.
Chris Lattner [Fri, 9 Aug 2002 20:04:28 +0000 (20:04 +0000)]
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

22 years agoThe second parameter of hash_set is the default, remove it.
Chris Lattner [Fri, 9 Aug 2002 19:40:42 +0000 (19:40 +0000)]
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

22 years agoOops, I accidentally broke the .d files. Fixed thusly
Chris Lattner [Fri, 9 Aug 2002 19:18:12 +0000 (19:18 +0000)]
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

22 years agoVery minor cleanups
Chris Lattner [Fri, 9 Aug 2002 18:55:18 +0000 (18:55 +0000)]
Very minor cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3271 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Document the BUILD_ROOT changes and option
Chris Lattner [Fri, 9 Aug 2002 16:14:56 +0000 (16:14 +0000)]
* 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

22 years ago* Remove some bogus dependencies on Depend/.dir
Chris Lattner [Fri, 9 Aug 2002 15:41:55 +0000 (15:41 +0000)]
* 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

22 years agoOh yeah, I wrote it.
Chris Lattner [Thu, 8 Aug 2002 20:23:41 +0000 (20:23 +0000)]
Oh yeah, I wrote it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3268 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoInitial checkin of the "Writting an LLVM Pass" document
Chris Lattner [Thu, 8 Aug 2002 20:11:18 +0000 (20:11 +0000)]
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

22 years agoInitial checkin of the "Hello World" Pass.
Chris Lattner [Thu, 8 Aug 2002 20:10:38 +0000 (20:10 +0000)]
Initial checkin of the "Hello World" Pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3266 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago- Cleaned up the interface to AnalysisUsage to take analysis class names
Chris Lattner [Thu, 8 Aug 2002 19:01:30 +0000 (19:01 +0000)]
- 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

22 years ago- Cleaned up the interface to AnalysisUsage to take analysis class names
Chris Lattner [Thu, 8 Aug 2002 19:01:28 +0000 (19:01 +0000)]
- 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

22 years ago - Cleaned up the interface to AnalysisUsage to take analysis class names
Chris Lattner [Thu, 8 Aug 2002 19:01:11 +0000 (19:01 +0000)]
 - 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

22 years agoRemove extraneous #includes
Chris Lattner [Thu, 8 Aug 2002 19:00:34 +0000 (19:00 +0000)]
Remove extraneous #includes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3262 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMinor changes to DEBUG()'s
Chris Lattner [Wed, 7 Aug 2002 21:41:11 +0000 (21:41 +0000)]
Minor changes to DEBUG()'s

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3261 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoReorder #includes to be right
Chris Lattner [Wed, 7 Aug 2002 21:41:03 +0000 (21:41 +0000)]
Reorder #includes to be right

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3260 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoMerge three loops into one.
Chris Lattner [Wed, 7 Aug 2002 21:39:48 +0000 (21:39 +0000)]
Merge three loops into one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3259 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoFix breakage in the build
Chris Lattner [Wed, 7 Aug 2002 21:39:39 +0000 (21:39 +0000)]
Fix breakage in the build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3258 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoOnly include the sparc.o file once!
Chris Lattner [Wed, 7 Aug 2002 19:42:34 +0000 (19:42 +0000)]
Only include the sparc.o file once!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3257 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoSimplify writing custom parsers.
Chris Lattner [Wed, 7 Aug 2002 18:36:37 +0000 (18:36 +0000)]
Simplify writing custom parsers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3256 91177308-0d34-0410-b5e6-96231b3b80d8

22 years agoSimplify interface to parsers.
Chris Lattner [Wed, 7 Aug 2002 18:36:27 +0000 (18:36 +0000)]
Simplify interface to parsers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3255 91177308-0d34-0410-b5e6-96231b3b80d8

22 years ago* Write the "Custom parser" section
Chris Lattner [Wed, 7 Aug 2002 18:27:04 +0000 (18:27 +0000)]
* 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