Commit Graph

27444 Commits

Author SHA1 Message Date
Evan Cheng
fe0b81759d Move to operand constraints for two-address instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31452 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 09:42:53 +00:00
Evan Cheng
c51737f46f Clean up some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31451 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 09:40:23 +00:00
Chris Lattner
6fc40079f3 encode BLR predicate info for the JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31450 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 05:42:48 +00:00
Chris Lattner
af53a87052 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31449 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 05:27:39 +00:00
Chris Lattner
efe9f4a3b6 Parse PredicateOperand's. When an instruction takes one, have the generated
isel fill in the instruction operands with the 'execute always' value
automatically.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31448 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 05:12:02 +00:00
Chris Lattner
dfdaeb276e First steps to getting PredicateOperand's to work. This handles instruction
and pat pattern definitions.  Codegen is not right for them yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31444 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 01:35:50 +00:00
Reid Spencer
5d52894783 Okay, need a pattern before and after the cast pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31443 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 01:11:19 +00:00
Reid Spencer
023fa4105b Allow the regular expression to be extended by a parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31442 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 00:58:39 +00:00
Reid Spencer
2461b73d9d For PR950:
A little script to return 1 if it encounters any of the cast instructions
on the stdin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31441 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 00:49:52 +00:00
Reid Spencer
7a11908195 Add a note about warnings from the GNU ld 2.16.X linker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31440 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 00:33:42 +00:00
Evan Cheng
e077ef6e85 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31439 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-04 00:21:55 +00:00
Chris Lattner
0638b260dc Describe PPC predicates, which are a pair of CR# and condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31438 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 23:53:25 +00:00
Chris Lattner
60a09a5d6d initial steps to getting the predicate on PPC::BLR right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31437 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 23:52:18 +00:00
Chris Lattner
e69c436e6f remove dead var
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31436 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 23:50:15 +00:00
Chris Lattner
3751844b39 remove dead/redundant vars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31435 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 23:48:56 +00:00
Chris Lattner
56fe5276ef remove redundant/dead vars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31434 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 23:47:20 +00:00
Chris Lattner
7049540de5 remove dead vars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31433 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 23:46:45 +00:00
Chris Lattner
d438b53e76 eliminate need for the NumMIOperands field in Operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31432 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 23:45:17 +00:00
Andrew Lenharth
8ed4c47d70 The wrong parameter was being tested to deturmine i32 vs i64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31431 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 22:45:50 +00:00
Andrew Lenharth
0c7af7cbce add a regression for memmove
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31430 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 22:45:09 +00:00
Chris Lattner
d7c628de89 add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31429 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 22:27:39 +00:00
Chris Lattner
3acfac6493 this started failing due to Reid's changes in the bc format. insulate it
from future changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31428 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 22:01:15 +00:00
Chris Lattner
7765d71304 Fix BasicAA/2006-11-03-BasicAAVectorCrash.ll by handling out-of-range
vector accesses like we handle out-of-range array accesses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31427 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 21:58:48 +00:00
Chris Lattner
3d6857f9fd new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31426 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 21:58:14 +00:00
Reid Spencer
6a7c0b7c3c Make the huge_val test run a C++ program not C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31422 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 19:49:16 +00:00
Chris Lattner
033b107e10 this will work better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31419 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 19:15:55 +00:00
Chris Lattner
0709718665 Fix the build on xcode < 2.4
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31417 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 19:13:59 +00:00
Reid Spencer
b2ed0526ce Add a check to see if HUGE_VAL is sane or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31416 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 18:04:08 +00:00
Andrew Lenharth
118c094176 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31415 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 17:43:19 +00:00
Evan Cheng
e6e97e66a3 Fix comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31414 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 07:31:32 +00:00
Evan Cheng
1a854be352 Rename
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31413 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 07:21:16 +00:00
Reid Spencer
b8f4e0aa17 Remove dead variable. Fix 80 column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31412 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 03:30:34 +00:00
Rafael Espindola
f05696c1b5 revert previous patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31411 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 03:08:28 +00:00
Evan Cheng
7fc033a24d Added DAG combiner transformation to generate pre-indexed loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31410 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 03:06:21 +00:00
Evan Cheng
c5fc57dcae Added isPredecessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31409 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 03:05:24 +00:00
Evan Cheng
bf105c8424 Proper check for two-addressness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31408 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 03:04:46 +00:00
Evan Cheng
24d9cf025d 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31407 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 03:04:06 +00:00
Evan Cheng
7ceebb437e Add isPredecessor to check whether a node is another's predecessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31406 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 03:02:18 +00:00
Evan Cheng
bdd371c0ed Dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31405 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 02:08:41 +00:00
Reid Spencer
162e20934b Remove unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31404 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:58:30 +00:00
Reid Spencer
fa3e3b9427 Remove an unused variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31403 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:48:30 +00:00
Chris Lattner
64a8dddb73 silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31402 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:45:13 +00:00
Reid Spencer
e03f09c64f Remove some dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31401 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:44:51 +00:00
Rafael Espindola
115bfcb574 add createCFGSimplificationPass to ARMTargetMachine::addInstSelector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31400 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:39:25 +00:00
Rafael Espindola
39c6d3aac1 assert.h -> cassert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31399 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:38:14 +00:00
Chris Lattner
ffa0a9b7ea remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31398 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:34:58 +00:00
Chris Lattner
02cb49ee67 silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31397 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:28:29 +00:00
Reid Spencer
8b9ea8099e Don't write out variables that are never used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31396 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:28:12 +00:00
Chris Lattner
6f51a77827 silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31395 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:19:31 +00:00
Chris Lattner
1331dec131 silence warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31394 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:18:29 +00:00