Commit Graph

4676 Commits

Author SHA1 Message Date
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