Chris Lattner
ebdc7f32e9
Fix misleading indentation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4730 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:57:23 +00:00
Chris Lattner
9bca50d6dd
Add machine independant printer interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4729 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:54:55 +00:00
Chris Lattner
dbb61c6445
Reorganize printing interface a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4728 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:53:13 +00:00
Chris Lattner
a187ed92ae
Add default implementation of printing interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4727 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:53:03 +00:00
Chris Lattner
23e6bba592
Finish enumating code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4726 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:33:54 +00:00
Chris Lattner
71e83caecd
Fix minor detail
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4725 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:33:26 +00:00
Chris Lattner
2752d0aac8
Add more numbers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4724 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:19:10 +00:00
Chris Lattner
ed806bf9fc
Add hack to only consider indirect calls indirect if they do more than cast
...
their source function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4723 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:17:12 +00:00
Chris Lattner
ae5f603665
Add MaxSCC statistics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4722 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:16:28 +00:00
Chris Lattner
db85e389ae
Count CallInsts correctly, remove unneccesary initializers
...
S: ----------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4721 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:15:40 +00:00
Chris Lattner
7e1a53b404
Remove unused methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4720 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:14:22 +00:00
Chris Lattner
570f55de8d
Remove only uses of markDef/markDefAndUse methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4719 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:14:08 +00:00
Chris Lattner
0692536b71
Fix Mul/Div clobbers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4718 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 21:56:38 +00:00
Chris Lattner
32f3d08cde
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4717 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 21:56:10 +00:00
Chris Lattner
6fc3c52359
Fix a few typos, implement load/store
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4716 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 21:11:55 +00:00
Chris Lattner
e4ae94c367
New testcase for loads and stores
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4715 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 21:06:13 +00:00
Chris Lattner
9562add237
Add functions to buld X86 specific constructs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4714 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 21:03:35 +00:00
Chris Lattner
5494c7ed9d
Return const refefrences to enable default construction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4713 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 21:02:42 +00:00
Chris Lattner
1411ba31ba
Add information about memory index representation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4712 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 20:33:26 +00:00
Chris Lattner
e7236ffa94
Add load/store instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4711 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 20:33:12 +00:00
Chris Lattner
43189d17c3
Switch visitRet to use getClass()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4710 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 20:07:45 +00:00
Nick Hildenbrandt
7e1ba8be09
Updates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4709 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-15 21:18:22 +00:00
Chris Lattner
d8a947e233
Fix warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4708 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-15 18:04:16 +00:00
Brian Gaeke
6559bb96a9
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4707 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-14 22:32:30 +00:00
Dinakar Dhurjati
e555460e4e
Gives the count for various instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4706 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-13 18:22:13 +00:00
Vikram S. Adve
586aa3c801
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4705 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-13 15:41:00 +00:00
Chris Lattner
12ae297cbd
Fix bug: 2002-11-13-PointerFunction.ll
...
This should fix codegen on vortex to work much better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4704 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-13 06:54:20 +00:00
Chris Lattner
64c8d3cfb7
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4703 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-13 06:54:00 +00:00
Chris Lattner
5b4fe60936
Add new numbers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4702 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-12 16:06:51 +00:00
Chris Lattner
5f1f2c6162
Inline graphs from outside the SCC into the SCC before SCC resolution starts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4701 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-12 15:58:08 +00:00
Chris Lattner
21f3663c06
Remove dead method, add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4700 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-12 15:57:28 +00:00
Chris Lattner
5190ce8374
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4699 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-12 07:20:45 +00:00
Chris Lattner
32f8e7d4e8
Add new numbers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4698 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-12 06:53:43 +00:00
Chris Lattner
3ba8893af5
Fix bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4697 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 22:23:56 +00:00
Chris Lattner
0ecc42619f
Handle a mismatch between # function args and call site args
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4696 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 21:36:05 +00:00
Chris Lattner
e425844d8c
Elimiante calls to a node with nothing in it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4695 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 21:35:38 +00:00
Chris Lattner
a9c9c0216e
Complete rewrite of BU code to use Tarjan's SCC finding algorithm to drive
...
the algorithm instead of hand coded depth first iteration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4694 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 21:35:13 +00:00
Chris Lattner
cf69bb494a
Almost complete rewrite of BU closure code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4693 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 21:34:34 +00:00
Chris Lattner
4c02283e6b
More numbers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4692 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 20:48:45 +00:00
Brian Gaeke
20abb6bf45
InstSelectSimple.cpp: (visitReturnInst) Add return instructions with return
...
values.
X86InstrInfo.def: add LEAVE instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4691 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 19:37:09 +00:00
Chris Lattner
e71ffc291c
Mark stuff reachable by _AUX_ calls as incomplete in the BU graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4690 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 03:36:55 +00:00
Chris Lattner
8a5db46967
Fix infinite loop in the BU algorithm. Unfortunately this dies a serious
...
death when handling moderately sized SCC's, but what can you do
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4689 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 00:01:34 +00:00
Chris Lattner
6052594209
Print the right call set size
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4688 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 00:01:02 +00:00
Chris Lattner
998c49c247
Use call site mergeWith method to simplify code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4687 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-11 00:00:46 +00:00
Chris Lattner
947b10c167
add method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4686 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 23:47:02 +00:00
Chris Lattner
b0dfcbf584
Add code to be able to merge two call sites
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4685 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 23:46:51 +00:00
Chris Lattner
169f8b838b
Add tarj_end() method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4684 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 23:46:31 +00:00
Chris Lattner
d11e954f08
Fix a bug that could trigger when varargs call sites had non-matching number of arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4683 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 07:46:08 +00:00
Chris Lattner
5660f54b60
Add more info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4682 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 07:31:38 +00:00
Chris Lattner
aa8146f5c4
* 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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4681 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-10 06:59:55 +00:00