Chris Lattner [Sat, 17 Aug 2002 23:32:47 +0000 (23:32 +0000)]
Add Module::dump() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3375
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 23:32:42 +0000 (23:32 +0000)]
Add Module::dump() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3374
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 23:20:37 +0000 (23:20 +0000)]
Add a simple testcase that just uses a CPR instead of a CPR & ConstExpr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3373
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 22:57:52 +0000 (22:57 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3372
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 22:40:03 +0000 (22:40 +0000)]
Do not leak memory for passes when using -stopAfterNPasses or -stopraise
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3371
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 22:38:02 +0000 (22:38 +0000)]
Run GlobalDCE before deadtypeelim so that we do not retain types for global
variables that are obviously dead. The most common case is %FILE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3370
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 22:36:45 +0000 (22:36 +0000)]
Include a basic simple test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3369
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 22:21:59 +0000 (22:21 +0000)]
Promote getelementptr instructions to constexprs if we can.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3368
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 22:02:41 +0000 (22:02 +0000)]
Fix stupid oversight of missing #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3367
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 22:01:27 +0000 (22:01 +0000)]
- Finally nailed: test/Regression/Assembler/2002-08-16-ConstExprInlined.llx
- ParseConstantPool was resolving reference to value using the function
slot # instead of the global slot #.
- Bytecode reader changes:
- Remove the failure<> template from Bytecode Reader
- Remove extraneous #includes
- s/method/function/ a bit
- Eliminate the fwdRefs class that just added abstraction where it was not
needed, making things more complex.
- Use a vector instead of a list for function signatures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3366
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Aug 2002 21:39:58 +0000 (21:39 +0000)]
Throw purify temporary files into /shared if we have it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3365
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Aug 2002 21:18:21 +0000 (21:18 +0000)]
Add new testcase for gep instruction -> get constexpr promotion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3364
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Aug 2002 21:17:11 +0000 (21:17 +0000)]
Changed parser to always use parenthesis on ConstExprs to be consistent
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3363
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Aug 2002 21:14:40 +0000 (21:14 +0000)]
- Remove unused STRING token from lexer & parser
- Changed parser to always use parenthesis on ConstExprs to be consistent
- Parser now passes TRUE and FALSE tokens as a special case of the ConstExpr
machinery instead of a special case of constant int stuff
- Fix the AsmParser to use ValueRef ::= ConstExpr, and remove
ResolvedVal ::= ConstExpr this allows constexprs to be used in PHI nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3362
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Aug 2002 19:34:33 +0000 (19:34 +0000)]
Fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3361
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Aug 2002 16:54:52 +0000 (16:54 +0000)]
New testcase distilled from much larger problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3360
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Aug 2002 21:14:39 +0000 (21:14 +0000)]
Convert constexpr over to new syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3359
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Aug 2002 21:08:38 +0000 (21:08 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3358
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Aug 2002 19:49:06 +0000 (19:49 +0000)]
Make 'features' testsuite work with the /shared changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3357
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Aug 2002 19:48:48 +0000 (19:48 +0000)]
Convert testcase to use correct syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3356
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Aug 2002 19:38:03 +0000 (19:38 +0000)]
Add another testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3355
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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