Chris Lattner
|
37fdc6dbf9
|
Add some very paranoid checking for operand/result reg class matchup
For instructions that define multiple results, use the right regclass
to define the result, not always the rc of result #0
llvm-svn: 23580
|
2005-10-01 07:45:09 +00:00 |
|
Jeff Cohen
|
412582bcec
|
Fix VC++ warnings.
llvm-svn: 23579
|
2005-10-01 03:57:14 +00:00 |
|
Chris Lattner
|
2f63a0f7c6
|
fix typo
llvm-svn: 23578
|
2005-10-01 02:51:36 +00:00 |
|
Chris Lattner
|
50411b1026
|
Modify the ppc backend to use two register classes for FP: F8RC and F4RC.
These are used to represent float and double values, and the two regclasses
contain the same physical registers.
llvm-svn: 23577
|
2005-10-01 01:35:02 +00:00 |
|
Chris Lattner
|
9c069d09a5
|
Annotate nodes with their addresses if a graph requests it.
This is Jim's feature implemented so that graphs could 'opt-in' and get
this behavior. This is currently used by selection dags.
llvm-svn: 23576
|
2005-10-01 00:19:21 +00:00 |
|
Chris Lattner
|
2a439615b7
|
add a method
llvm-svn: 23575
|
2005-10-01 00:17:07 +00:00 |
|
Jim Laskey
|
532fc48d3d
|
typo
llvm-svn: 23574
|
2005-10-01 00:08:23 +00:00 |
|
Jim Laskey
|
809ab88d91
|
1. Simplify the gathering of node groups.
2. Printing node groups when displaying nodes.
llvm-svn: 23573
|
2005-10-01 00:03:07 +00:00 |
|
Jim Laskey
|
94e6b5c648
|
Should be using flag and not chain.
llvm-svn: 23572
|
2005-09-30 23:43:37 +00:00 |
|
Nate Begeman
|
62fa04cd5b
|
Remove some now-dead code.
llvm-svn: 23571
|
2005-09-30 21:28:27 +00:00 |
|
Andrew Lenharth
|
73913b88bb
|
more specific tests of subtarget stuff
llvm-svn: 23570
|
2005-09-30 20:30:24 +00:00 |
|
Andrew Lenharth
|
901ca061fd
|
subtarget support for CIX and FIX extentions (the only 2 I care about right now)
llvm-svn: 23569
|
2005-09-30 20:24:38 +00:00 |
|
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 |
|