1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
Commit Graph

2503 Commits

Author SHA1 Message Date
Chris Lattner
ccb8790bc4 Start using the new function cloning header
llvm-svn: 4764
2002-11-19 20:59:41 +00:00
Chris Lattner
7e4c65114b Move MutatStructTypes.h out of IPO
llvm-svn: 4762
2002-11-19 20:49:40 +00:00
Chris Lattner
17da38496e Rename CloneFunction.h to Cloning.h
llvm-svn: 4760
2002-11-19 20:08:24 +00:00
Chris Lattner
adea9960ab Move the function extractor pass from tools/extract into lib/Xform/IPO
llvm-svn: 4759
2002-11-19 18:42:59 +00:00
Chris Lattner
bd2cbecb05 Add a new Module::getNamedFunction method
llvm-svn: 4758
2002-11-19 18:41:44 +00:00
Brian Gaeke
49acd3c0ba Brian Gaeke says:
lib/Target/X86/InstSelectSimple.cpp: Add a little something to
 visitBranchInst which supports conditional branches.
lib/Target/X86/X86InstrInfo.def: Add defs of JNE, JE, CMPri8

llvm-svn: 4755
2002-11-19 09:08:47 +00:00
Nick Hildenbrandt
cd79631bb1 *** empty log message ***
llvm-svn: 4754
2002-11-18 22:21:52 +00:00
Chris Lattner
8118f6db93 Add peak memory usage measurement capability
Add (currently disabled) faciility to try to filter out pool allocation overhead from memory usage stats

llvm-svn: 4753
2002-11-18 21:47:09 +00:00
Chris Lattner
ad3955d6a5 Add peak memory usage measurement stuff
Add structure padding optimizations

llvm-svn: 4749
2002-11-18 21:44:46 +00:00
Chris Lattner
f179a40a00 Add peak memory usage support
llvm-svn: 4748
2002-11-18 21:44:19 +00:00
Chris Lattner
25a8814af0 Add stats
llvm-svn: 4747
2002-11-18 21:42:45 +00:00
Nick Hildenbrandt
d97c216a21 *** empty log message ***
llvm-svn: 4745
2002-11-18 20:55:50 +00:00
Chris Lattner
cd1f56fc36 Start trying to print instructions more correctly. For now we also print out the opcode for each instruction as well.
llvm-svn: 4743
2002-11-18 06:56:51 +00:00
Chris Lattner
8301d751ee Expose base opcode
llvm-svn: 4742
2002-11-18 06:56:24 +00:00
Chris Lattner
54bb9d64a3 Start to add more information to instr.def
llvm-svn: 4741
2002-11-18 05:37:11 +00:00
Chris Lattner
e921369cf7 Add instruction annotation about whether it has a 0x0F opcode prefix
llvm-svn: 4740
2002-11-18 01:59:28 +00:00
Chris Lattner
acf38562df Add more void flags
llvm-svn: 4739
2002-11-18 01:37:48 +00:00
Chris Lattner
7a67557e29 Set the void flag on instructions that should get it
llvm-svn: 4738
2002-11-18 01:34:36 +00:00
Chris Lattner
3afc487fba Print is const!
llvm-svn: 4737
2002-11-17 23:22:13 +00:00
Chris Lattner
f0a1010d2c Pass on a targetmachine
llvm-svn: 4736
2002-11-17 23:22:03 +00:00
Chris Lattner
a7d7b16161 Arrange to have a TargetMachine available in X86InstrInfo::print
llvm-svn: 4734
2002-11-17 23:20:37 +00:00
Chris Lattner
700e8f6a01 Wow, I'm incapable of the simplest things today...
llvm-svn: 4732
2002-11-17 23:05:21 +00:00
Chris Lattner
1cd77c9933 Rename registers to follow the intel style of all caps
llvm-svn: 4731
2002-11-17 23:03:46 +00:00
Chris Lattner
0bf125c617 Fix misleading indentation
llvm-svn: 4730
2002-11-17 22:57:23 +00:00
Chris Lattner
5374a3be97 Reorganize printing interface a bit
llvm-svn: 4728
2002-11-17 22:53:13 +00:00
Chris Lattner
a55e8dba9b Add default implementation of printing interface
llvm-svn: 4727
2002-11-17 22:53:03 +00:00
Chris Lattner
970ae6d569 Fix minor detail
llvm-svn: 4725
2002-11-17 22:33:26 +00:00
Chris Lattner
38bc372a49 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
322901a840 Add MaxSCC statistics
llvm-svn: 4722
2002-11-17 22:16:28 +00:00
Chris Lattner
acfc11664a Count CallInsts correctly, remove unneccesary initializers
S: ----------------------------------------------------------------------

llvm-svn: 4721
2002-11-17 22:15:40 +00:00
Chris Lattner
8ac4eea84b Remove only uses of markDef/markDefAndUse methods
llvm-svn: 4719
2002-11-17 22:14:08 +00:00
Chris Lattner
72e99c8344 Fix Mul/Div clobbers
llvm-svn: 4718
2002-11-17 21:56:38 +00:00
Chris Lattner
dcb6f1dbf9 Fix a few typos, implement load/store
llvm-svn: 4716
2002-11-17 21:11:55 +00:00
Chris Lattner
06066e17c3 Add functions to buld X86 specific constructs
llvm-svn: 4714
2002-11-17 21:03:35 +00:00
Chris Lattner
5e21732045 Add information about memory index representation
llvm-svn: 4712
2002-11-17 20:33:26 +00:00
Chris Lattner
99b5e2f073 Add load/store instructions
llvm-svn: 4711
2002-11-17 20:33:12 +00:00
Chris Lattner
fb67938381 Switch visitRet to use getClass()
llvm-svn: 4710
2002-11-17 20:07:45 +00:00
Brian Gaeke
492e05ba01 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
9da9f0534e Gives the count for various instructions.
llvm-svn: 4706
2002-11-13 18:22:13 +00:00
Vikram S. Adve
2dfc11dc3b 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
996bf14a4f 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
b257e87db5 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
cd37857ad0 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
3b303e5ab8 Fix bug
llvm-svn: 4697
2002-11-11 22:23:56 +00:00
Chris Lattner
f56a5282d2 Handle a mismatch between # function args and call site args
llvm-svn: 4696
2002-11-11 21:36:05 +00:00
Chris Lattner
6fcb6f1472 Elimiante calls to a node with nothing in it.
llvm-svn: 4695
2002-11-11 21:35:38 +00:00
Chris Lattner
0052b69a32 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
Brian Gaeke
8cfe5d95f1 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
fb44e1ff28 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
f05d126a68 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