Reid Spencer
be216ad603
Fix a bug in the last patch and convert to && instead of & for logical expr.
...
llvm-svn: 31463
2006-11-05 19:26:37 +00:00
Reid Spencer
f88c9b1dfc
Implement the -enabled-cbe-printf-a feature.
...
llvm-svn: 31462
2006-11-05 17:09:41 +00:00
Reid Spencer
ac23a62ab3
Add a -disable-cbe-printf-a option so that the output of the C Backend
...
stands a chance of being compiled with a non C99 C compiler. The default
is enabled so you must specifically disable this feature if you want the
CBE output compiled with an older C compiler.
llvm-svn: 31461
2006-11-05 17:08:18 +00:00
Nick Lewycky
8b17d79f5e
Remove commented line from earlier debugging.
...
llvm-svn: 31460
2006-11-05 14:19:40 +00:00
Evan Cheng
bf7db95159
Added pre-indexed store support.
...
llvm-svn: 31459
2006-11-05 09:31:14 +00:00
Evan Cheng
ae357e5044
Added getIndexedStore.
...
llvm-svn: 31458
2006-11-05 09:30:09 +00:00
Reid Spencer
919214045b
Don't check variables before they are set.
...
Be careful about blanks when checking LLVMGCC variable.
llvm-svn: 31455
2006-11-05 03:58:44 +00:00
Jim Laskey
1c8b925a87
Live local variables are being dropped because the begin or end labels marking
...
their scope are being deleted. Workaround is to widen scope to full function.
llvm-svn: 31454
2006-11-04 10:48:07 +00:00
Evan Cheng
42cb1fd0ac
Changes to use operand constraints to process two-address instructions.
...
llvm-svn: 31453
2006-11-04 09:44:31 +00:00
Evan Cheng
a4bfb23119
Move to operand constraints for two-address instructions.
...
llvm-svn: 31452
2006-11-04 09:42:53 +00:00
Evan Cheng
8e65006b5e
Clean up some code.
...
llvm-svn: 31451
2006-11-04 09:40:23 +00:00
Chris Lattner
a193c9c977
encode BLR predicate info for the JIT
...
llvm-svn: 31450
2006-11-04 05:42:48 +00:00
Chris Lattner
a7687f805c
Go through all kinds of trouble to mark 'blr' as having a predicate operand
...
that takes a register and condition code. Print these pieces of BLR the
right way, even though it is currently set to 'always'.
Next up: get the JIT encoding right, then enhance branch folding to produce
predicated blr for simple examples.
llvm-svn: 31449
2006-11-04 05:27:39 +00:00
Chris Lattner
8dac4564af
Parse PredicateOperand's. When an instruction takes one, have the generated
...
isel fill in the instruction operands with the 'execute always' value
automatically.
llvm-svn: 31448
2006-11-04 05:12:02 +00:00
Chris Lattner
f7ad33f01b
First steps to getting PredicateOperand's to work. This handles instruction
...
and pat pattern definitions. Codegen is not right for them yet.
llvm-svn: 31444
2006-11-04 01:35:50 +00:00
Reid Spencer
dcce9e0cc9
Okay, need a pattern before and after the cast pattern.
...
llvm-svn: 31443
2006-11-04 01:11:19 +00:00
Reid Spencer
bb2e479ee9
Allow the regular expression to be extended by a parameter.
...
llvm-svn: 31442
2006-11-04 00:58:39 +00:00
Reid Spencer
cc134bcc6c
For PR950:
...
A little script to return 1 if it encounters any of the cast instructions
on the stdin.
llvm-svn: 31441
2006-11-04 00:49:52 +00:00
Reid Spencer
de9cf90c66
Add a note about warnings from the GNU ld 2.16.X linker.
...
llvm-svn: 31440
2006-11-04 00:33:42 +00:00
Evan Cheng
4328919c08
Fixed some spiller bugs exposed by the recent two-address code changes. Now
...
there may be other def(s) apart from the use&def two-address operand. We need
to check if the register reuse for a use&def operand may conflicts with another
def. Provide a mean to recover from the conflict if it is detected when the
defs are processed later.
llvm-svn: 31439
2006-11-04 00:21:55 +00:00
Chris Lattner
db04ba8502
Describe PPC predicates, which are a pair of CR# and condition.
...
llvm-svn: 31438
2006-11-03 23:53:25 +00:00
Chris Lattner
4296d2e0fa
initial steps to getting the predicate on PPC::BLR right.
...
llvm-svn: 31437
2006-11-03 23:52:18 +00:00
Chris Lattner
f9394871ff
remove dead var
...
llvm-svn: 31436
2006-11-03 23:50:15 +00:00
Chris Lattner
7c265ad682
remove dead/redundant vars
...
llvm-svn: 31435
2006-11-03 23:48:56 +00:00
Chris Lattner
a69c6416ca
remove redundant/dead vars
...
llvm-svn: 31434
2006-11-03 23:47:20 +00:00
Chris Lattner
5f953f0927
remove dead vars
...
llvm-svn: 31433
2006-11-03 23:46:45 +00:00
Chris Lattner
5eca521156
eliminate need for the NumMIOperands field in Operand.
...
llvm-svn: 31432
2006-11-03 23:45:17 +00:00
Andrew Lenharth
c2f822392c
The wrong parameter was being tested to deturmine i32 vs i64
...
llvm-svn: 31431
2006-11-03 22:45:50 +00:00
Andrew Lenharth
1a81dcf240
add a regression for memmove
...
llvm-svn: 31430
2006-11-03 22:45:09 +00:00
Chris Lattner
2cb1391e09
add a note
...
llvm-svn: 31429
2006-11-03 22:27:39 +00:00
Chris Lattner
d8275c91a5
this started failing due to Reid's changes in the bc format. insulate it
...
from future changes.
llvm-svn: 31428
2006-11-03 22:01:15 +00:00
Chris Lattner
bbc4261790
Fix BasicAA/2006-11-03-BasicAAVectorCrash.ll by handling out-of-range
...
vector accesses like we handle out-of-range array accesses.
llvm-svn: 31427
2006-11-03 21:58:48 +00:00
Chris Lattner
87d4149351
new testcase
...
llvm-svn: 31426
2006-11-03 21:58:14 +00:00
Reid Spencer
45c30d6827
Make the huge_val test run a C++ program not C
...
llvm-svn: 31422
2006-11-03 19:49:16 +00:00
Chris Lattner
7628decccf
this will work better
...
llvm-svn: 31419
2006-11-03 19:15:55 +00:00
Chris Lattner
8bf77463ea
Fix the build on xcode < 2.4
...
llvm-svn: 31417
2006-11-03 19:13:59 +00:00
Reid Spencer
4b9f2de647
Add a check to see if HUGE_VAL is sane or not.
...
llvm-svn: 31416
2006-11-03 18:04:08 +00:00
Andrew Lenharth
8a81e9e264
Split the External and Intrinsic handling into seperate functions. This
...
improves readability of the call handling code significantly, as well as
makes it clear which parts are hacky (externals) and which parts are good
(call handling).
No functionality change.
llvm-svn: 31415
2006-11-03 17:43:19 +00:00
Evan Cheng
047a33d3e3
Fix comments.
...
llvm-svn: 31414
2006-11-03 07:31:32 +00:00
Evan Cheng
466e20fca2
Rename
...
llvm-svn: 31413
2006-11-03 07:21:16 +00:00
Reid Spencer
8cac48e619
Remove dead variable. Fix 80 column violations.
...
llvm-svn: 31412
2006-11-03 03:30:34 +00:00
Rafael Espindola
3459a4b85b
revert previous patch
...
llvm-svn: 31411
2006-11-03 03:08:28 +00:00
Evan Cheng
a0133317f7
Added DAG combiner transformation to generate pre-indexed loads.
...
llvm-svn: 31410
2006-11-03 03:06:21 +00:00
Evan Cheng
b9ed18642c
Added isPredecessor.
...
llvm-svn: 31409
2006-11-03 03:05:24 +00:00
Evan Cheng
79570c731a
Proper check for two-addressness.
...
llvm-svn: 31408
2006-11-03 03:04:46 +00:00
Evan Cheng
9ebbced355
Added a target specific hook to check whether / how a node can be transformed
...
into a pair of base / offset nodes for pre-indexed load / store ops.
llvm-svn: 31407
2006-11-03 03:04:06 +00:00
Evan Cheng
b19289a84d
Add isPredecessor to check whether a node is another's predecessor.
...
llvm-svn: 31406
2006-11-03 03:02:18 +00:00
Evan Cheng
54c4be233e
Dead code.
...
llvm-svn: 31405
2006-11-03 02:08:41 +00:00
Reid Spencer
f036c59ca0
Remove unused variable.
...
llvm-svn: 31404
2006-11-03 01:58:30 +00:00
Reid Spencer
da581ac715
Remove an unused variable.
...
llvm-svn: 31403
2006-11-03 01:48:30 +00:00