Chris Lattner
fcda164b39
Make 'features' testsuite work with the /shared changes.
...
llvm-svn: 3357
2002-08-15 19:49:06 +00:00
Chris Lattner
cf5622ad22
Convert testcase to use correct syntax
...
llvm-svn: 3356
2002-08-15 19:48:48 +00:00
Chris Lattner
6a844fa8b0
Add another testcase
...
llvm-svn: 3355
2002-08-15 19:38:03 +00:00
Chris Lattner
0d1bc11665
Write constexpr casts using the cast X to Y notation, not using the implicit
...
type result
llvm-svn: 3354
2002-08-15 19:37:43 +00:00
Chris Lattner
7cd8403f2b
Parse const expr cast instruction the same way the instruction is formed
...
llvm-svn: 3353
2002-08-15 19:37:11 +00:00
Chris Lattner
0812b53cc4
Add a note mentioning that bools promote to 0 or 1
...
llvm-svn: 3352
2002-08-15 19:36:05 +00:00
Chris Lattner
8c5c0b9560
Move ConstExpr production to unify ConstVal stuff
...
llvm-svn: 3351
2002-08-15 18:17:28 +00:00
Chris Lattner
971fa225af
Fix bug: test/Regression/Assembler/2002-08-15-UnresolvedGlobalReference.ll
...
llvm-svn: 3350
2002-08-15 17:58:33 +00:00
Chris Lattner
ea7257ec94
There seem to be issues with constant exprs
...
llvm-svn: 3349
2002-08-15 17:04:40 +00:00
Chris Lattner
4a542aeb38
Simplify the code
...
llvm-svn: 3348
2002-08-15 16:15:36 +00:00
Chris Lattner
caaca8d4c9
Handle more cases of cast-of-cast in more general forms.
...
llvm-svn: 3347
2002-08-15 16:15:25 +00:00
Chris Lattner
aac33658b1
Remove the last traces of the NOT instruction
...
llvm-svn: 3346
2002-08-15 16:14:49 +00:00
Chris Lattner
54a8a632ea
Add a bunch of testcases for cast-of-casts that should be removed.
...
llvm-svn: 3345
2002-08-15 16:13:29 +00:00
Vikram S. Adve
227bd369e5
Change opLabel numbers for Not and BNot.
...
Also, these tree nodes are now binary, not unary.
llvm-svn: 3344
2002-08-15 14:20:45 +00:00
Vikram S. Adve
21b0deb4ab
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.
llvm-svn: 3343
2002-08-15 14:19:22 +00:00
Vikram S. Adve
5e22d4f669
Revise code generation for unary Not (boolean and bitwise), which is
...
no longer a separate instruction but is instead implemented with XOR.
llvm-svn: 3342
2002-08-15 14:17:37 +00:00
Vikram S. Adve
c66b996e40
Added more helper functions for binary instructions emulating
...
unary Neg and Not: isNeg, isNot, getNegArgument, and getNotArgument.
llvm-svn: 3341
2002-08-15 14:15:48 +00:00
Vikram S. Adve
7bad3cdc7a
Add tests for unary NOT operations.
...
llvm-svn: 3340
2002-08-15 14:09:56 +00:00
Chris Lattner
83f92a7237
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.
llvm-svn: 3339
2002-08-14 23:21:10 +00:00
Chris Lattner
de33f53011
Fix testcase to actually test what we think we are
...
llvm-svn: 3338
2002-08-14 23:01:19 +00:00
Chris Lattner
be85bafab2
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.
llvm-svn: 3337
2002-08-14 22:11:52 +00:00
Chris Lattner
80b897953e
Avoid inserting an entry block unless we need it
...
llvm-svn: 3336
2002-08-14 21:35:02 +00:00
Chris Lattner
2f101c0f0e
Gross, some whitespace escaped
...
llvm-svn: 3335
2002-08-14 20:07:01 +00:00
Chris Lattner
952ae7e3b2
Fix bug in documentation
...
llvm-svn: 3334
2002-08-14 20:06:13 +00:00
Chris Lattner
9294035c00
*** empty log message ***
...
llvm-svn: 3333
2002-08-14 19:29:38 +00:00
Chris Lattner
62ae28b6e7
This file does not belong here.
...
llvm-svn: 3332
2002-08-14 19:29:32 +00:00
Chris Lattner
03ab577d77
Fix tests that use the now dead not instruction
...
llvm-svn: 3331
2002-08-14 19:28:22 +00:00
Chris Lattner
55bdf1fec4
Fix testcases that used to now dead 'not' instruction
...
llvm-svn: 3330
2002-08-14 19:28:09 +00:00
Chris Lattner
7f5aa43c5d
Change not's to xors
...
llvm-svn: 3329
2002-08-14 19:26:34 +00:00
Chris Lattner
6a9d88347a
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.
llvm-svn: 3328
2002-08-14 18:24:09 +00:00
Chris Lattner
760f32d641
Fix bug introduced in last checkin due to CastInst not being visible
...
llvm-svn: 3327
2002-08-14 18:22:19 +00:00
Chris Lattner
d909e03b2e
Remove support for unary operators.
...
llvm-svn: 3326
2002-08-14 18:19:46 +00:00
Chris Lattner
7a018a27b2
Remove reference to GenericUnaryInst class
...
llvm-svn: 3325
2002-08-14 18:18:50 +00:00
Chris Lattner
0e17a44326
Remove support for unary instructions
...
llvm-svn: 3324
2002-08-14 18:18:28 +00:00
Chris Lattner
980bf4b44d
Remove support for NOT instruction
...
llvm-svn: 3323
2002-08-14 18:18:02 +00:00
Chris Lattner
34a9a81756
Remove extra #includes
...
llvm-svn: 3322
2002-08-14 18:17:32 +00:00
Chris Lattner
9a0912fb14
Remove constant propogation support for NOT instruction
...
llvm-svn: 3321
2002-08-14 18:17:07 +00:00
Chris Lattner
119695e390
Remove support for NOT instruction
...
llvm-svn: 3320
2002-08-14 18:00:52 +00:00
Chris Lattner
c152083997
Remove information about dead 'not' instruction
...
llvm-svn: 3319
2002-08-14 17:55:59 +00:00
Chris Lattner
c264beb7c5
Remove support for unary operators
...
llvm-svn: 3318
2002-08-14 17:53:45 +00:00
Chris Lattner
794511bf40
Implement two constructor functions for "unary" instructions
...
llvm-svn: 3317
2002-08-14 17:52:27 +00:00
Chris Lattner
9f528df0ad
Remove support forNOT instruction
...
llvm-svn: 3316
2002-08-14 17:52:06 +00:00
Chris Lattner
890adeb7a2
- Fix InstCombine pass to not generate or process NOT instructions
...
- Fixed testcases to not use them either.
llvm-svn: 3315
2002-08-14 17:51:49 +00:00
Chris Lattner
1783814b9f
Expose two new static methods from BinaryOperator: createNeg, createNot
...
llvm-svn: 3314
2002-08-14 17:51:29 +00:00
Chris Lattner
c8183d92e3
Remove support for NOT instruction
...
llvm-svn: 3313
2002-08-14 17:45:39 +00:00
Chris Lattner
ce6d033e05
Remove illegal test now that not instruction does not exist.
...
llvm-svn: 3312
2002-08-14 17:44:00 +00:00
Chris Lattner
bb12fdbe3b
Make sure there is SOME output always so the test is not rerun when unneccesary.
...
llvm-svn: 3311
2002-08-14 17:38:15 +00:00
Chris Lattner
650f5add3c
The not instruction is just a specialized form of XOR
...
llvm-svn: 3310
2002-08-14 17:37:04 +00:00
Chris Lattner
ed328517aa
AsmParser turns 'not' instructions into 'xor' instructions now.
...
llvm-svn: 3309
2002-08-14 17:12:33 +00:00
Chris Lattner
26186786e1
Return null on failure, instead of aborting.
...
llvm-svn: 3308
2002-08-14 17:12:13 +00:00