Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								323dbe57a6 
								
							 
						 
						
							
							
								
								Silience unused warnings.  
							
							 
							
							... 
							
							
							
							llvm-svn: 61390 
							
						 
						
							2008-12-23 21:55:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9c4b7d5c4f 
								
							 
						 
						
							
							
								
								Fix command-line option printing to print two spaces where needed,  
							
							 
							
							... 
							
							
							
							instead of requiring all "short description" strings to begin with
two spaces. This makes these strings less mysterious, and it fixes
some cases where short description strings mistakenly did not
begin with two spaces.
llvm-svn: 57521 
							
						 
						
							2008-10-14 20:25:08 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0d1e9a8e04 
								
							 
						 
						
							
							
								
								Switch the MachineOperand accessors back to the short names like  
							
							 
							
							... 
							
							
							
							isReg, etc., from isRegister, etc.
llvm-svn: 57006 
							
						 
						
							2008-10-03 15:45:36 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a79db30d28 
								
							 
						 
						
							
							
								
								Tidy up several unbeseeming casts from pointer to intptr_t.  
							
							 
							
							... 
							
							
							
							llvm-svn: 55779 
							
						 
						
							2008-09-04 17:05:41 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								70aa89d215 
								
							 
						 
						
							
							
								
								Reuse the MO variable instead of recomputing it in RegAllocLocal.  
							
							 
							
							... 
							
							
							
							Keep RegAllocSimple in sync.
llvm-svn: 53351 
							
						 
						
							2008-07-09 20:12:26 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d0a33a9270 
								
							 
						 
						
							
							
								
								Give RegAllocSimple a TargetInstrInfo member to keep it consistent  
							
							 
							
							... 
							
							
							
							with RegAllocLocal.
llvm-svn: 53347 
							
						 
						
							2008-07-09 19:56:01 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								8a95073098 
								
							 
						 
						
							
							
								
								Use find with std::map, when that's what's needed, instead of lower_bound  
							
							 
							
							... 
							
							
							
							with extra checks.
llvm-svn: 53344 
							
						 
						
							2008-07-09 19:51:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9988569af8 
								
							 
						 
						
							
							
								
								Don't include <map> in Pass.h, which doesn't need it. This requires  
							
							 
							
							... 
							
							
							
							adding <map> to many files that actually do need it.
llvm-svn: 48667 
							
						 
						
							2008-03-21 23:51:57 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3a4be0fdef 
								
							 
						 
						
							
							
								
								Rename MRegisterInfo to TargetRegisterInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46930 
							
						 
						
							2008-02-10 18:45:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								03ad885039 
								
							 
						 
						
							
							
								
								rename TargetInstrDescriptor -> TargetInstrDesc.  
							
							 
							
							... 
							
							
							
							Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.
llvm-svn: 45695 
							
						 
						
							2008-01-07 07:27:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a98c679de0 
								
							 
						 
						
							
							
								
								Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects  
							
							 
							
							... 
							
							
							
							that it is cheap and efficient to get.
Move a variety of predicates from TargetInstrInfo into 
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around.  Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.
Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.
llvm-svn: 45674 
							
						 
						
							2008-01-07 01:56:04 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								eee14601b1 
								
							 
						 
						
							
							
								
								Move some more instruction creation methods from RegisterInfo into InstrInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45484 
							
						 
						
							2008-01-01 21:11:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a10fff51d9 
								
							 
						 
						
							
							
								
								Rename SSARegMap -> MachineRegisterInfo in keeping with the idea  
							
							 
							
							... 
							
							
							
							that "machine" classes are used to represent the current state of
the code being compiled.  Given this expanded name, we can start 
moving other stuff into it.  For now, move the UsedPhysRegs and
LiveIn/LoveOuts vectors from MachineFunction into it.
Update all the clients to match.
This also reduces some needless #includes, such as MachineModuleInfo
from MachineFunction.
llvm-svn: 45467 
							
						 
						
							2007-12-31 04:13:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								bb26301864 
								
							 
						 
						
							
							
								
								Add a argument to storeRegToStackSlot and storeRegToAddr to specify whether  
							
							 
							
							... 
							
							
							
							the stored register is killed.
llvm-svn: 44600 
							
						 
						
							2007-12-05 03:14:33 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								8c78a0bff0 
								
							 
						 
						
							
							
								
								Drop 'const'  
							
							 
							
							... 
							
							
							
							llvm-svn: 36662 
							
						 
						
							2007-05-03 01:11:54 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e95c6ad802 
								
							 
						 
						
							
							
								
								Use 'static const char' instead of 'static const int'.  
							
							 
							
							... 
							
							
							
							Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652 
							
						 
						
							2007-05-02 21:39:20 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								09f162ca6a 
								
							 
						 
						
							
							
								
								Do not use typeinfo to identify pass in pass manager.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36632 
							
						 
						
							2007-05-01 21:15:47 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								0ba174534c 
								
							 
						 
						
							
							
								
								Match MachineFunction::UsedPhysRegs changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36452 
							
						 
						
							2007-04-25 22:13:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aee775a6b7 
								
							 
						 
						
							
							
								
								Eliminate static ctors from Statistics  
							
							 
							
							... 
							
							
							
							llvm-svn: 32698 
							
						 
						
							2006-12-19 22:41:21 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								78cb08d082 
								
							 
						 
						
							
							
								
								Move findTiedToSrcOperand to TargetInstrDescriptor.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32366 
							
						 
						
							2006-12-08 18:45:48 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								4539418a7b 
								
							 
						 
						
							
							
								
								findTiedToSrcOperand() changed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32353 
							
						 
						
							2006-12-08 07:59:51 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								355fc5ad50 
								
							 
						 
						
							
							
								
								Removed more <iostream> includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 32321 
							
						 
						
							2006-12-07 20:28:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								700b873130 
								
							 
						 
						
							
							
								
								Detemplatize the Statistic class.  The only type it is instantiated with  
							
							 
							
							... 
							
							
							
							is 'unsigned'.
llvm-svn: 32279 
							
						 
						
							2006-12-06 17:46:33 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								787b77320f 
								
							 
						 
						
							
							
								
								Use llvm streams instead of <iostream>  
							
							 
							
							... 
							
							
							
							llvm-svn: 31985 
							
						 
						
							2006-11-28 22:48:48 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								93cdd149f7 
								
							 
						 
						
							
							
								
								Rename  
							
							 
							
							... 
							
							
							
							llvm-svn: 31364 
							
						 
						
							2006-11-01 23:18:32 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								d8697deca3 
								
							 
						 
						
							
							
								
								Two-address instructions no longer have to be A := A op C. Now any pair of dest / src operands can be tied together.  
							
							 
							
							... 
							
							
							
							llvm-svn: 31363 
							
						 
						
							2006-11-01 23:06:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								13a5dcddce 
								
							 
						 
						
							
							
								
								Fix a long-standing wart in the code generator: two-address instruction lowering  
							
							 
							
							... 
							
							
							
							actually *removes* one of the operands, instead of just assigning both operands
the same register.  This make reasoning about instructions unnecessarily complex,
because you need to know if you are before or after register allocation to match
up operand #'s with the target description file.
Changing this also gets rid of a bunch of hacky code in various places.
This patch also includes changes to fold loads into cmp/test instructions in
the X86 backend, along with a significant simplification to the X86 spill
folding code.
llvm-svn: 30108 
							
						 
						
							2006-09-05 02:12:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3d27be1333 
								
							 
						 
						
							
							
								
								s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|  
							
							 
							
							... 
							
							
							
							llvm-svn: 29911 
							
						 
						
							2006-08-27 12:54:02 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								29e635d3c9 
								
							 
						 
						
							
							
								
								Final polish on machine pass registries.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29471 
							
						 
						
							2006-08-02 12:30:23 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								95eda5b1f3 
								
							 
						 
						
							
							
								
								Introducing plugable register allocators and instruction schedulers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29434 
							
						 
						
							2006-08-01 14:21:23 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								4b49c23571 
								
							 
						 
						
							
							
								
								Eliminate data relocations by using NULL instead of global empty list.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29250 
							
						 
						
							2006-07-21 21:15:20 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								c496b418b5 
								
							 
						 
						
							
							
								
								Reduce number of exported symbols  
							
							 
							
							... 
							
							
							
							llvm-svn: 29220 
							
						 
						
							2006-07-20 17:28:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e097e6f7c7 
								
							 
						 
						
							
							
								
								Shave another 27K off libllvmgcc.dylib with visibility hidden  
							
							 
							
							... 
							
							
							
							llvm-svn: 28973 
							
						 
						
							2006-06-28 22:17:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								10d6341618 
								
							 
						 
						
							
							
								
								Move some methods out of MachineInstr into MachineOperand  
							
							 
							
							... 
							
							
							
							llvm-svn: 28102 
							
						 
						
							2006-05-04 17:52:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								de02d7727f 
								
							 
						 
						
							
							
								
								Add explicit #includes of <iostream>  
							
							 
							
							... 
							
							
							
							llvm-svn: 25515 
							
						 
						
							2006-01-22 23:41:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5a6199f387 
								
							 
						 
						
							
							
								
								Change this code ot pass register classes into the stack slot spiller/reloader  
							
							 
							
							... 
							
							
							
							code.  PrologEpilogInserter hasn't been updated yet though, so targets cannot
use this info.
llvm-svn: 23536 
							
						 
						
							2005-09-30 01:29:00 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								774511633d 
								
							 
						 
						
							
							
								
								Convert tabs to spaces  
							
							 
							
							... 
							
							
							
							llvm-svn: 21439 
							
						 
						
							2005-04-22 04:01:18 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								835702a094 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 21420 
							
						 
						
							2005-04-21 22:36:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3d527f7b61 
								
							 
						 
						
							
							
								
								Update physregsused info.  
							
							 
							
							... 
							
							
							
							llvm-svn: 19793 
							
						 
						
							2005-01-23 22:55:45 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								7c16caa336 
								
							 
						 
						
							
							
								
								Changes For Bug 352  
							
							 
							
							... 
							
							
							
							Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137 
							
						 
						
							2004-09-01 22:55:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c66f27fd29 
								
							 
						 
						
							
							
								
								Stop using CreateStackObject(RegClass*)  
							
							 
							
							... 
							
							
							
							llvm-svn: 15775 
							
						 
						
							2004-08-15 22:02:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								98de1d7795 
								
							 
						 
						
							
							
								
								These methods no longer take a TargetRegisterClass* operand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 15774 
							
						 
						
							2004-08-15 21:56:44 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								902dcf0729 
								
							 
						 
						
							
							
								
								These files don't need to include <iostream> since they include "Support/Debug.h".  
							
							 
							
							... 
							
							
							
							llvm-svn: 15089 
							
						 
						
							2004-07-21 20:50:33 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								23dbc8170c 
								
							 
						 
						
							
							
								
								Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 14389 
							
						 
						
							2004-06-25 00:13:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2150542af9 
								
							 
						 
						
							
							
								
								Adjust to new TargetMachine interface  
							
							 
							
							... 
							
							
							
							llvm-svn: 13956 
							
						 
						
							2004-06-02 05:57:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e0b49952f6 
								
							 
						 
						
							
							
								
								Fix PR294  
							
							 
							
							... 
							
							
							
							llvm-svn: 12425 
							
						 
						
							2004-03-16 01:45:55 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								c31ff795d5 
								
							 
						 
						
							
							
								
								Simplify iterator usage now that we have next(). Also don't pass iterators by reference now that MachineInstr* are in an ilist  
							
							 
							
							... 
							
							
							
							llvm-svn: 11732 
							
						 
						
							2004-02-23 04:12:30 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								d0a60b71fc 
								
							 
						 
						
							
							
								
								Rename reloads/spills to loads/stores.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11619 
							
						 
						
							2004-02-19 06:19:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a8d97e4e74 
								
							 
						 
						
							
							
								
								Finegrainify namespacification  
							
							 
							
							... 
							
							
							
							Remove one of the operands of a two operand instruction
llvm-svn: 11478 
							
						 
						
							2004-02-15 21:38:28 +00:00