Chris Lattner
5961102d31
Fix misleading indentation
...
llvm-svn: 4730
2002-11-17 22:57:23 +00:00
Chris Lattner
4a22fb1fe9
Add machine independant printer interface
...
llvm-svn: 4729
2002-11-17 22:54:55 +00:00
Chris Lattner
9289d7d693
Reorganize printing interface a bit
...
llvm-svn: 4728
2002-11-17 22:53:13 +00:00
Chris Lattner
8693803b48
Add default implementation of printing interface
...
llvm-svn: 4727
2002-11-17 22:53:03 +00:00
Chris Lattner
be5ef9028b
Finish enumating code
...
llvm-svn: 4726
2002-11-17 22:33:54 +00:00
Chris Lattner
64c3bb99ed
Fix minor detail
...
llvm-svn: 4725
2002-11-17 22:33:26 +00:00
Chris Lattner
c2ca3086dd
Add more numbers
...
llvm-svn: 4724
2002-11-17 22:19:10 +00:00
Chris Lattner
29a320bfcf
Add hack to only consider indirect calls indirect if they do more than cast
...
their source function
llvm-svn: 4723
2002-11-17 22:17:12 +00:00
Chris Lattner
1e3652955b
Add MaxSCC statistics
...
llvm-svn: 4722
2002-11-17 22:16:28 +00:00
Chris Lattner
342f68151e
Count CallInsts correctly, remove unneccesary initializers
...
S: ----------------------------------------------------------------------
llvm-svn: 4721
2002-11-17 22:15:40 +00:00
Chris Lattner
618c92908c
Remove unused methods
...
llvm-svn: 4720
2002-11-17 22:14:22 +00:00
Chris Lattner
17ec8a8dd0
Remove only uses of markDef/markDefAndUse methods
...
llvm-svn: 4719
2002-11-17 22:14:08 +00:00
Chris Lattner
cb57e5ca17
Fix Mul/Div clobbers
...
llvm-svn: 4718
2002-11-17 21:56:38 +00:00
Chris Lattner
76a95ecad0
Convert to use an enum to access def/use/use&def information. These make
...
reading code much easier than just seeing "true, false" especially when
default parameters default one but not both arguments.
llvm-svn: 4717
2002-11-17 21:56:10 +00:00
Chris Lattner
ecdb49d74a
Fix a few typos, implement load/store
...
llvm-svn: 4716
2002-11-17 21:11:55 +00:00
Chris Lattner
57339c0d82
New testcase for loads and stores
...
llvm-svn: 4715
2002-11-17 21:06:13 +00:00
Chris Lattner
c682b4a9ab
Add functions to buld X86 specific constructs
...
llvm-svn: 4714
2002-11-17 21:03:35 +00:00
Chris Lattner
9fbccc672d
Return const refefrences to enable default construction
...
llvm-svn: 4713
2002-11-17 21:02:42 +00:00
Chris Lattner
6fd0ef303d
Add information about memory index representation
...
llvm-svn: 4712
2002-11-17 20:33:26 +00:00
Chris Lattner
e86f98e06c
Add load/store instructions
...
llvm-svn: 4711
2002-11-17 20:33:12 +00:00
Chris Lattner
09fddd97fb
Switch visitRet to use getClass()
...
llvm-svn: 4710
2002-11-17 20:07:45 +00:00
Nick Hildenbrandt
d7c85d319a
Updates
...
llvm-svn: 4709
2002-11-15 21:18:22 +00:00
Chris Lattner
fb1855921c
Fix warning
...
llvm-svn: 4708
2002-11-15 18:04:16 +00:00
Brian Gaeke
e74543584a
include/llvm/CodeGen/MachineInstrBuilder.h: Add addClobber() inline
...
convenience method. Fix typo in comment.
lib/Target/X86/InstSelectSimple.cpp: Explicitly specify some implicit uses.
Use MOVZX/MOVSX instead of MOV instructions with sign extend instructions.
Take out LEAVE instructions.
32-bit IDIV and DIV use CDQ, not CWQ (CWQ is a typo).
Fix typo in comment and remove some FIXME comments.
lib/Target/X86/Printer.cpp: Include X86InstrInfo.h and llvm/Function.h.
Add some simple code to Printer::runOnFunction to iterate over
MachineBasicBlocks and call X86InstrInfo::print().
lib/Target/X86/X86InstrInfo.def: Make some more instructions with
implicit defs "Void". Add more sign/zero extending "move" insns
(movsx, movzx).
lib/Target/X86/X86RegisterInfo.def: Add EFLAGS as a register.
llvm-svn: 4707
2002-11-14 22:32:30 +00:00
Dinakar Dhurjati
a7be9a7db7
Gives the count for various instructions.
...
llvm-svn: 4706
2002-11-13 18:22:13 +00:00
Vikram S. Adve
16eac628f4
Pass to compute various statisics related to DSGraphs.
...
For now, this just computes the #indirect call sites and
the avg. #callees per indirect call site (actually it prints
both totals and the average is their ratio).
llvm-svn: 4705
2002-11-13 15:41:00 +00:00
Chris Lattner
7a3c0671da
Fix bug: 2002-11-13-PointerFunction.ll
...
This should fix codegen on vortex to work much better
llvm-svn: 4704
2002-11-13 06:54:20 +00:00
Chris Lattner
41765fd27a
New testcase
...
llvm-svn: 4703
2002-11-13 06:54:00 +00:00
Chris Lattner
308b84ed20
Add new numbers
...
llvm-svn: 4702
2002-11-12 16:06:51 +00:00
Chris Lattner
ccc27ecd35
Inline graphs from outside the SCC into the SCC before SCC resolution starts
...
llvm-svn: 4701
2002-11-12 15:58:08 +00:00
Chris Lattner
01f00ca60d
Remove dead method, add new method
...
llvm-svn: 4700
2002-11-12 15:57:28 +00:00
Chris Lattner
dcb4ac9594
Fix two bugs:
...
* The globals vector was getting broken and unsorted, this caused vortex
to get badly pessimized
* Node offset handling was being handled really poorly, and in particular
we were not merging types with offsets right. This causes several graphs
to be non-merged.
llvm-svn: 4699
2002-11-12 07:20:45 +00:00
Chris Lattner
29ed712a88
Add new numbers
...
llvm-svn: 4698
2002-11-12 06:53:43 +00:00
Chris Lattner
1aeca4d0e6
Fix bug
...
llvm-svn: 4697
2002-11-11 22:23:56 +00:00
Chris Lattner
eb10d4cbce
Handle a mismatch between # function args and call site args
...
llvm-svn: 4696
2002-11-11 21:36:05 +00:00
Chris Lattner
8aed9820e2
Elimiante calls to a node with nothing in it.
...
llvm-svn: 4695
2002-11-11 21:35:38 +00:00
Chris Lattner
59821c5ce6
Complete rewrite of BU code to use Tarjan's SCC finding algorithm to drive
...
the algorithm instead of hand coded depth first iteration
llvm-svn: 4694
2002-11-11 21:35:13 +00:00
Chris Lattner
f8172fa67e
Almost complete rewrite of BU closure code
...
llvm-svn: 4693
2002-11-11 21:34:34 +00:00
Chris Lattner
df48466ce5
More numbers
...
llvm-svn: 4692
2002-11-11 20:48:45 +00:00
Brian Gaeke
b2687880e2
InstSelectSimple.cpp: (visitReturnInst) Add return instructions with return
...
values.
X86InstrInfo.def: add LEAVE instruction.
llvm-svn: 4691
2002-11-11 19:37:09 +00:00
Chris Lattner
dd3dd4abeb
Mark stuff reachable by _AUX_ calls as incomplete in the BU graph
...
llvm-svn: 4690
2002-11-11 03:36:55 +00:00
Chris Lattner
cca3599c0b
Fix infinite loop in the BU algorithm. Unfortunately this dies a serious
...
death when handling moderately sized SCC's, but what can you do
llvm-svn: 4689
2002-11-11 00:01:34 +00:00
Chris Lattner
773da868a0
Print the right call set size
...
llvm-svn: 4688
2002-11-11 00:01:02 +00:00
Chris Lattner
6fa9a7f7f4
Use call site mergeWith method to simplify code
...
llvm-svn: 4687
2002-11-11 00:00:46 +00:00
Chris Lattner
7bb4144def
add method
...
llvm-svn: 4686
2002-11-10 23:47:02 +00:00
Chris Lattner
b16b332280
Add code to be able to merge two call sites
...
llvm-svn: 4685
2002-11-10 23:46:51 +00:00
Chris Lattner
c0a07a4631
Add tarj_end() method
...
llvm-svn: 4684
2002-11-10 23:46:31 +00:00
Chris Lattner
d7f9f635ec
Fix a bug that could trigger when varargs call sites had non-matching number of arguments
...
llvm-svn: 4683
2002-11-10 07:46:08 +00:00
Chris Lattner
952924d881
Add more info
...
llvm-svn: 4682
2002-11-10 07:31:38 +00:00
Chris Lattner
7b61563d99
* Dramatically rework liveness evaluation.
...
* Implement the first step of the Globals graph: Deleting nodes from function
graphs. In practice, these nodes need to be moved to the globals graph, but
this will be taken care of later. Note that the graphs computed right now are
not strictly correct!
llvm-svn: 4681
2002-11-10 06:59:55 +00:00