Jim Laskey
7dcadb97aa
Reverting change moving to selection dag graph.
...
llvm-svn: 23568
2005-09-30 19:33:41 +00:00
Jim Laskey
1c928ba21a
Added allnodes_size for scheduling support.
...
llvm-svn: 23567
2005-09-30 19:27:01 +00:00
Jim Laskey
5e51979f90
1. Made things node-centric (from operand).
...
2. Added node groups to handle flagged nodes.
3. Started weaning simple scheduling off existing emitter.
llvm-svn: 23566
2005-09-30 19:15:27 +00:00
Jim Laskey
35efa80550
Add the node name (thus the address) to node label.
...
llvm-svn: 23565
2005-09-30 19:11:53 +00:00
Chris Lattner
c744d9398f
Rename MRegisterDesc -> TargetRegisterDesc for consistency
...
llvm-svn: 23564
2005-09-30 17:49:27 +00:00
Chris Lattner
f90f3abcef
Update the discussion of TargetRegisterDesc
...
llvm-svn: 23563
2005-09-30 17:46:55 +00:00
Chris Lattner
f29abb6f4a
remove some more initializers
...
llvm-svn: 23562
2005-09-30 17:41:05 +00:00
Chris Lattner
661384dce6
trim down the target info structs now that we have a preferred spill register class for each callee save register
...
Why is V9 maintaining these tables manually? ugh!
llvm-svn: 23561
2005-09-30 17:38:36 +00:00
Chris Lattner
6124aae803
trim down the target info structs now that we have a preferred spill register class for each callee save register
...
llvm-svn: 23560
2005-09-30 17:35:22 +00:00
Chris Lattner
3fcb5aa250
now that we have a reg class to spill with, get this info from the regclass
...
llvm-svn: 23559
2005-09-30 17:19:22 +00:00
Chris Lattner
c3c139cc70
constant fold these calls
...
llvm-svn: 23558
2005-09-30 17:16:59 +00:00
Chris Lattner
f70bf81bb6
simplify this code using the new regclass info passed in
...
llvm-svn: 23557
2005-09-30 17:12:38 +00:00
Chris Lattner
738631f389
Now that we have getCalleeSaveRegClasses() info, use it to pass the register
...
class into the spill/reload methods. Targets can now rely on that argument.
llvm-svn: 23556
2005-09-30 16:59:07 +00:00
Chris Lattner
18454e037b
expose a new virtual method
...
llvm-svn: 23555
2005-09-30 07:06:37 +00:00
Chris Lattner
8e4d17179d
stub out a virtual method
...
llvm-svn: 23554
2005-09-30 06:55:18 +00:00
Chris Lattner
2da37b0d74
Compute a preferred spill register class for each callee-save register
...
llvm-svn: 23553
2005-09-30 06:44:45 +00:00
Chris Lattner
6a87f90d17
CR registers are not used by this "target"
...
llvm-svn: 23552
2005-09-30 06:43:58 +00:00
Chris Lattner
49117a5dcc
these registers don't belong to any register classes, so don't mark them
...
as callee save. They can never be generated by the compiler.
llvm-svn: 23551
2005-09-30 06:42:24 +00:00
Chris Lattner
7b69bfc7b6
Fix a warning
...
llvm-svn: 23550
2005-09-30 06:09:50 +00:00
Chris Lattner
7e3972b706
Regenerate
...
llvm-svn: 23549
2005-09-30 04:53:25 +00:00
Chris Lattner
2b7ab1f445
Refactor this a bit to move ParsingTemplateArgs to only apply to classes,
...
not defs.
Implement support for forward definitions of classes. This implements
TableGen/ForwardRef.td.
llvm-svn: 23548
2005-09-30 04:53:04 +00:00
Chris Lattner
cf324a5462
Add a test that you can forward ref a class.
...
llvm-svn: 23547
2005-09-30 04:52:43 +00:00
Chris Lattner
c0830ec129
Regenerate
...
llvm-svn: 23546
2005-09-30 04:42:56 +00:00
Chris Lattner
2e4e3a8678
Generate a parse error instead of a checked exception if template args are
...
used on a def.
llvm-svn: 23545
2005-09-30 04:42:31 +00:00
Chris Lattner
60e0bcc04a
Now that self referential classes are supported, get rid of a work-around.
...
llvm-svn: 23544
2005-09-30 04:13:23 +00:00
Chris Lattner
3a8b099f34
regenerate
...
llvm-svn: 23543
2005-09-30 04:11:27 +00:00
Chris Lattner
baa6d77025
Refactor the grammar a bit to implement TableGen/ForwardRef.td
...
llvm-svn: 23542
2005-09-30 04:10:49 +00:00
Chris Lattner
d565abab5f
Check that we can refer to the same class we are defining.
...
llvm-svn: 23541
2005-09-30 04:10:17 +00:00
Chris Lattner
7be456ae2f
allow regs to be in multiple reg classes
...
llvm-svn: 23540
2005-09-30 01:33:48 +00:00
Chris Lattner
2aaaf81c9e
pass extra args
...
llvm-svn: 23539
2005-09-30 01:31:52 +00:00
Chris Lattner
3c59b33016
these methods get extra args
...
llvm-svn: 23538
2005-09-30 01:30:55 +00:00
Chris Lattner
a1266f8ed5
Pass extra regclasses into spilling code
...
llvm-svn: 23537
2005-09-30 01:29:42 +00:00
Chris Lattner
a9cd99bbc1
Change this code ot pass register classes into the stack slot spiller/reloader
...
code. PrologEpilogInserter hasn't been updated yet though, so targets cannot
use this info.
llvm-svn: 23536
2005-09-30 01:29:00 +00:00
Chris Lattner
ec85d13393
Change these methods to take RC's
...
llvm-svn: 23535
2005-09-30 01:28:14 +00:00
Chris Lattner
2b22bc735c
Use the 32-bit version for now
...
llvm-svn: 23534
2005-09-30 00:05:05 +00:00
Chris Lattner
06cf72a8e5
Add a bunch of patterns for F64 FP ops, add some more integer ops
...
llvm-svn: 23533
2005-09-29 23:34:24 +00:00
Chris Lattner
47999915ad
Remove code for patterns that are autogenerated
...
llvm-svn: 23532
2005-09-29 23:33:31 +00:00
Andrew Lenharth
070a2605dd
begining alpha subtarget support
...
llvm-svn: 23531
2005-09-29 22:54:56 +00:00
Chris Lattner
e16fc704bd
tblgen autogens this pattern now
...
llvm-svn: 23530
2005-09-29 22:37:24 +00:00
Chris Lattner
10a8d57590
Teach tablegen to reassociate operators when possible. This allows it to
...
find all of teh pattern matches for EQV from one definition
llvm-svn: 23529
2005-09-29 22:36:54 +00:00
Andrew Lenharth
b5d08bba45
copy and paste error
...
llvm-svn: 23528
2005-09-29 21:11:57 +00:00
Chris Lattner
7c8efa3b9b
now that tblgen is smarter, this pattern is not needed. Also, tblgen
...
now inverts commuted versions of ANDC/ORC with the current .td file.
llvm-svn: 23527
2005-09-29 19:29:15 +00:00
Chris Lattner
31a9d318a3
Teach tblgen to build permutations of instructions, so that the target author
...
doesn't have to specify them manually. It currently handles associativity,
e.g. knowing that (X*Y)+Z also matches X+(Y*Z) and will be extended in
the future.
It is smart enough to not introduce duplicate patterns or patterns that can
never match.
llvm-svn: 23526
2005-09-29 19:28:10 +00:00
Chris Lattner
633db4c298
Insert stores after phi nodes in the normal dest. This fixes
...
LowerInvoke/2005-08-03-InvokeWithPHI.ll
llvm-svn: 23525
2005-09-29 17:44:20 +00:00
Chris Lattner
cb42f7df68
consistency with other cases, no functionality change
...
llvm-svn: 23524
2005-09-29 17:38:52 +00:00
Chris Lattner
cb09b023d3
Make the JIT default to the DAG isel instead of the pattern isel, like LLC.
...
The Pattern isel has some strange memory corruption issues going on. :(
This should have been converted over anyway, but it got forgotten somehow
when switching to the dag isel.
llvm-svn: 23523
2005-09-29 17:31:03 +00:00
Chris Lattner
9fbe5b6a51
Fix two bugs in my patch earlier today that broke int->fp conversion on X86.
...
llvm-svn: 23522
2005-09-29 06:44:39 +00:00
Chris Lattner
c800214144
Fold isascii into a simple comparison. This speeds up 197.parser by 7.4%,
...
bringing the LLC time down to the CBE time.
llvm-svn: 23521
2005-09-29 06:17:27 +00:00
Chris Lattner
698283c3c3
new testcase for isascii
...
llvm-svn: 23520
2005-09-29 06:16:37 +00:00
Chris Lattner
3aa9edd482
remove a bunch of unneeded stuff, or self evident comments
...
llvm-svn: 23519
2005-09-29 06:16:11 +00:00