Chris Lattner [Wed, 20 Nov 2002 20:47:41 +0000 (20:47 +0000)]
Initial checkin of Module cloning support stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4788
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Nov 2002 20:22:58 +0000 (20:22 +0000)]
Cloning stuff doesn't modify the source module
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4787
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Nov 2002 20:17:03 +0000 (20:17 +0000)]
X86 target builds fine now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4786
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Nov 2002 19:32:43 +0000 (19:32 +0000)]
Fix symbol table problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4785
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Nov 2002 18:59:43 +0000 (18:59 +0000)]
Add definitions for function headers from MRegisterInfo.h:
Some functions are in X86RegisterInfo.cpp, others, because of the data they
need, are in X86RegisterClasses.cpp, which also defines some register classes:
byte, short, and int.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4784
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Nov 2002 18:56:41 +0000 (18:56 +0000)]
Check not only for MO_VirtualRegister, but MO_MachineRegister as well when
printing out assembly. After all, we want the real thing too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4783
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Nov 2002 18:55:27 +0000 (18:55 +0000)]
Initialize the SSARegMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4782
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Nov 2002 18:54:53 +0000 (18:54 +0000)]
MRegisterInfo.h - Added prototypes for functions we need to map a register to
an appropriate TargetRegisterClass, also adds TargetRegisterClass definition.
TargetMachine.h - speling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4781
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Nov 2002 18:37:37 +0000 (18:37 +0000)]
Don't build X86 target yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4780
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Nov 2002 18:36:02 +0000 (18:36 +0000)]
- Eliminated the deferred symbol table stuff in Module & Function, it really
wasn't an optimization and it was causing lots of bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4779
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Nov 2002 18:32:31 +0000 (18:32 +0000)]
Fix minor bugs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4778
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 20 Nov 2002 18:07:48 +0000 (18:07 +0000)]
Eliminate the concept of a deferred symbol table. The optimization really isn't,
and it causes obscure bugs to show up in passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4777
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Nov 2002 00:58:23 +0000 (00:58 +0000)]
Add mapping in MachineFunction from SSA regs to Register Classes. Also,
uncovered a bug where registers were not being put in a map if they were not
found...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4776
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Nov 2002 00:56:42 +0000 (00:56 +0000)]
Sigh. Fixed some speling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4775
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Nov 2002 00:53:10 +0000 (00:53 +0000)]
SSARegMap -- the mapping between SSARegisters and their RegisterClasses, which
imply types of SSA Registers. This is on a per-function basis, so the
MachineFunction contains the SSARegMap, and has accessor functions to it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4774
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Nov 2002 00:47:40 +0000 (00:47 +0000)]
Thanks to the R8, R16, and R32 macros, I can now deal with registers that
belong to different register classes easier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4773
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 23:12:53 +0000 (23:12 +0000)]
Remove unneccesary #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4772
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 23:12:22 +0000 (23:12 +0000)]
Implement the CloneFunction function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4771
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 22:54:01 +0000 (22:54 +0000)]
Minor changes to cloning interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4770
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 22:04:49 +0000 (22:04 +0000)]
Fix two fixmes: integrate with inlining, and document
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4769
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 21:57:18 +0000 (21:57 +0000)]
Add support for bugpoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4768
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 21:54:38 +0000 (21:54 +0000)]
Extend function cloning interface to support inlining
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4767
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 21:54:07 +0000 (21:54 +0000)]
Rework inline pass to use cloning infrastructure to do the dirty work
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4766
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 21:00:33 +0000 (21:00 +0000)]
This file is supersumed by Utils/Cloning.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4765
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 20:59:41 +0000 (20:59 +0000)]
Start using the new function cloning header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4764
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 20:58:38 +0000 (20:58 +0000)]
Merge cloning and inlining utilities
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4763
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 20:49:40 +0000 (20:49 +0000)]
Move MutatStructTypes.h out of IPO
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4762
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 20:43:24 +0000 (20:43 +0000)]
Move inlining pass to IPO.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4761
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 20:08:24 +0000 (20:08 +0000)]
Rename CloneFunction.h to Cloning.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4760
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 18:42:59 +0000 (18:42 +0000)]
Move the function extractor pass from tools/extract into lib/Xform/IPO
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4759
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 18:41:44 +0000 (18:41 +0000)]
Add a new Module::getNamedFunction method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4758
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 17:10:14 +0000 (17:10 +0000)]
Ignore options that are ""
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4757
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Nov 2002 16:59:41 +0000 (16:59 +0000)]
Remove extra target.a entry
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4756
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 19 Nov 2002 09:08:47 +0000 (09:08 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4755
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Mon, 18 Nov 2002 22:21:52 +0000 (22:21 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4754
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 21:47:09 +0000 (21:47 +0000)]
Add peak memory usage measurement capability
Add (currently disabled) faciility to try to filter out pool allocation overhead from memory usage stats
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4753
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 21:45:55 +0000 (21:45 +0000)]
Add facility to compute peak memory usage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4752
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 21:45:30 +0000 (21:45 +0000)]
Inline DSTypeRec stuff into DSNode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4751
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 21:45:07 +0000 (21:45 +0000)]
Inline DSTypeRec into DSNode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4750
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 21:44:46 +0000 (21:44 +0000)]
Add peak memory usage measurement stuff
Add structure padding optimizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 21:44:19 +0000 (21:44 +0000)]
Add peak memory usage support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4748
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 21:42:45 +0000 (21:42 +0000)]
Add stats
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4747
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 21:42:19 +0000 (21:42 +0000)]
Templatize graph traits and iterator to work with const and non-const clients
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4746
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Mon, 18 Nov 2002 20:55:50 +0000 (20:55 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4745
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 06:57:05 +0000 (06:57 +0000)]
Add helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4744
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 06:56:51 +0000 (06:56 +0000)]
Start trying to print instructions more correctly. For now we also print out the opcode for each instruction as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4743
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 06:56:24 +0000 (06:56 +0000)]
Expose base opcode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 05:37:11 +0000 (05:37 +0000)]
Start to add more information to instr.def
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4741
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 01:59:28 +0000 (01:59 +0000)]
Add instruction annotation about whether it has a 0x0F opcode prefix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 01:37:48 +0000 (01:37 +0000)]
Add more void flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4739
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Nov 2002 01:34:36 +0000 (01:34 +0000)]
Set the void flag on instructions that should get it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4738
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 23:22:13 +0000 (23:22 +0000)]
Print is const!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4737
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 23:22:03 +0000 (23:22 +0000)]
Pass on a targetmachine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4736
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 23:21:45 +0000 (23:21 +0000)]
Make sure that print gets a targetmachine
CVS: ----------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4735
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 23:20:37 +0000 (23:20 +0000)]
Arrange to have a TargetMachine available in X86InstrInfo::print
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4734
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 23:10:27 +0000 (23:10 +0000)]
Omit the indirect node when printing call graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4733
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 23:05:21 +0000 (23:05 +0000)]
Wow, I'm incapable of the simplest things today...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4732
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 23:03:46 +0000 (23:03 +0000)]
Rename registers to follow the intel style of all caps
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4731
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:57:23 +0000 (22:57 +0000)]
Fix misleading indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4730
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:54:55 +0000 (22:54 +0000)]
Add machine independant printer interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:53:13 +0000 (22:53 +0000)]
Reorganize printing interface a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4728
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:53:03 +0000 (22:53 +0000)]
Add default implementation of printing interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:33:54 +0000 (22:33 +0000)]
Finish enumating code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:33:26 +0000 (22:33 +0000)]
Fix minor detail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4725
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:19:10 +0000 (22:19 +0000)]
Add more numbers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4724
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:17:12 +0000 (22:17 +0000)]
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
Chris Lattner [Sun, 17 Nov 2002 22:16:28 +0000 (22:16 +0000)]
Add MaxSCC statistics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4722
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:15:40 +0000 (22:15 +0000)]
Count CallInsts correctly, remove unneccesary initializers
S: ----------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:14:22 +0000 (22:14 +0000)]
Remove unused methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 22:14:08 +0000 (22:14 +0000)]
Remove only uses of markDef/markDefAndUse methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 21:56:38 +0000 (21:56 +0000)]
Fix Mul/Div clobbers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4718
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 21:56:10 +0000 (21:56 +0000)]
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
Chris Lattner [Sun, 17 Nov 2002 21:11:55 +0000 (21:11 +0000)]
Fix a few typos, implement load/store
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4716
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 21:06:13 +0000 (21:06 +0000)]
New testcase for loads and stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4715
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 21:03:35 +0000 (21:03 +0000)]
Add functions to buld X86 specific constructs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 21:02:42 +0000 (21:02 +0000)]
Return const refefrences to enable default construction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 20:33:26 +0000 (20:33 +0000)]
Add information about memory index representation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 20:33:12 +0000 (20:33 +0000)]
Add load/store instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Nov 2002 20:07:45 +0000 (20:07 +0000)]
Switch visitRet to use getClass()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4710
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Fri, 15 Nov 2002 21:18:22 +0000 (21:18 +0000)]
Updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Nov 2002 18:04:16 +0000 (18:04 +0000)]
Fix warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4708
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 14 Nov 2002 22:32:30 +0000 (22:32 +0000)]
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
Dinakar Dhurjati [Wed, 13 Nov 2002 18:22:13 +0000 (18:22 +0000)]
Gives the count for various instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4706
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 13 Nov 2002 15:41:00 +0000 (15:41 +0000)]
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
Chris Lattner [Wed, 13 Nov 2002 06:54:20 +0000 (06:54 +0000)]
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
Chris Lattner [Wed, 13 Nov 2002 06:54:00 +0000 (06:54 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4703
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Nov 2002 16:06:51 +0000 (16:06 +0000)]
Add new numbers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4702
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Nov 2002 15:58:08 +0000 (15:58 +0000)]
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
Chris Lattner [Tue, 12 Nov 2002 15:57:28 +0000 (15:57 +0000)]
Remove dead method, add new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4700
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Nov 2002 07:20:45 +0000 (07:20 +0000)]
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
Chris Lattner [Tue, 12 Nov 2002 06:53:43 +0000 (06:53 +0000)]
Add new numbers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4698
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Nov 2002 22:23:56 +0000 (22:23 +0000)]
Fix bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4697
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Nov 2002 21:36:05 +0000 (21:36 +0000)]
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
Chris Lattner [Mon, 11 Nov 2002 21:35:38 +0000 (21:35 +0000)]
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
Chris Lattner [Mon, 11 Nov 2002 21:35:13 +0000 (21:35 +0000)]
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
Chris Lattner [Mon, 11 Nov 2002 21:34:34 +0000 (21:34 +0000)]
Almost complete rewrite of BU closure code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4693
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 11 Nov 2002 20:48:45 +0000 (20:48 +0000)]
More numbers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4692
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Mon, 11 Nov 2002 19:37:09 +0000 (19:37 +0000)]
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
Chris Lattner [Mon, 11 Nov 2002 03:36:55 +0000 (03:36 +0000)]
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
Chris Lattner [Mon, 11 Nov 2002 00:01:34 +0000 (00:01 +0000)]
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