b8c79bdc31 
								
							 
						 
						
							
							
								
								No need to keep size of DebugLocations vector separately.  
							
							... 
							
							
							
							llvm-svn: 63070 
							
						 
						
							2009-01-26 23:47:30 +00:00  
				
					
						
							
							
								 
						
							
								4e6871da09 
								
							 
						 
						
							
							
								
								Actually source file has already been uniquified into an id during isel. Eliminate the StringMap.  
							
							... 
							
							
							
							llvm-svn: 63009 
							
						 
						
							2009-01-26 07:53:42 +00:00  
				
					
						
							
							
								 
						
							
								b5706c45fa 
								
							 
						 
						
							
							
								
								Add data structure to define and track debug location during codegen.  
							
							... 
							
							
							
							llvm-svn: 63008 
							
						 
						
							2009-01-26 07:41:49 +00:00  
				
					
						
							
							
								 
						
							
								dc020f9c3c 
								
							 
						 
						
							
							
								
								Rename getABITypeSize to getTypePaddedSize, as  
							
							... 
							
							
							
							suggested by Chris.
llvm-svn: 62099 
							
						 
						
							2009-01-12 20:38:59 +00:00  
				
					
						
							
							
								 
						
							
								2530f5fe43 
								
							 
						 
						
							
							
								
								Make MachineFrameInfo::print not crash when no TargetFrameInfo is available.  
							
							... 
							
							
							
							llvm-svn: 58606 
							
						 
						
							2008-11-03 11:16:43 +00:00  
				
					
						
							
							
								 
						
							
								4459c4250d 
								
							 
						 
						
							
							
								
								Adjust whitespace in debug messages to be more consistent  
							
							... 
							
							
							
							with other debug messages.
llvm-svn: 57543 
							
						 
						
							2008-10-15 02:57:38 +00:00  
				
					
						
							
							
								 
						
							
								c8d7988da8 
								
							 
						 
						
							
							
								
								Make MachineFunction not crash when TargetMachine::getRegisterInfo() returns  
							
							... 
							
							
							
							NULL, but just hide some debug output then.
llvm-svn: 57437 
							
						 
						
							2008-10-13 12:37:16 +00:00  
				
					
						
							
							
								 
						
							
								5cf6120a7c 
								
							 
						 
						
							
							
								
								Fix these comments to reflect current reality. Surprisingly,  
							
							... 
							
							
							
							MachineConstantPool::getConstantPoolIndex actually expects
a log2-encoded alignment.
llvm-svn: 56248 
							
						 
						
							2008-09-16 20:45:53 +00:00  
				
					
						
							
							
								 
						
							
								a79db30d28 
								
							 
						 
						
							
							
								
								Tidy up several unbeseeming casts from pointer to intptr_t.  
							
							... 
							
							
							
							llvm-svn: 55779 
							
						 
						
							2008-09-04 17:05:41 +00:00  
				
					
						
							
							
								 
						
							
								838aff36dd 
								
							 
						 
						
							
							
								
								get MachineConstantPool off std::ostream, onto raw_ostream.  It would be  
							
							... 
							
							
							
							really nice if someone converted MachineFunction::print to raw_ostream.
llvm-svn: 55268 
							
						 
						
							2008-08-23 22:53:13 +00:00  
				
					
						
							
							
								 
						
							
								0c19df4871 
								
							 
						 
						
							
							
								
								Switch the asmprinter (.ll) and all the stuff it requires over to  
							
							... 
							
							
							
							use raw_ostream instead of std::ostream.  Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
 1) This makes Value::print be non-virtual.
 2) AP[S]Int and ConstantRange can no longer print to ostream directly, 
    use raw_ostream instead.
 3) This fixes a bug in raw_os_ostream where it didn't flush itself 
    when destroyed.
 4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream 
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
llvm-svn: 55263 
							
						 
						
							2008-08-23 22:23:09 +00:00  
				
					
						
							
							
								 
						
							
								804c95df52 
								
							 
						 
						
							
							
								
								Fold the useful features of alist and alist_node into ilist, and  
							
							... 
							
							
							
							a new ilist_node class, and remove them. Unlike alist_node,
ilist_node doesn't attempt to manage storage itself, so it avoids
the associated problems, including being opaque in gdb.
Adjust the Recycler class so that it doesn't depend on alist_node.
Also, change it to use explicit Size and Align parameters, allowing
it to work when the largest-sized node doesn't have the greatest
alignment requirement.
Change MachineInstr's MachineMemOperand list from a pool-backed
alist to a std::list for now.
llvm-svn: 54146 
							
						 
						
							2008-07-28 21:51:04 +00:00  
				
					
						
							
							
								 
						
							
								8c08a692ee 
								
							 
						 
						
							
							
								
								Fix uses of underscore-capital names.  
							
							... 
							
							
							
							llvm-svn: 53870 
							
						 
						
							2008-07-21 19:48:15 +00:00  
				
					
						
							
							
								 
						
							
								0597e5b697 
								
							 
						 
						
							
							
								
								Trim unnecessary #includes.  
							
							... 
							
							
							
							llvm-svn: 53471 
							
						 
						
							2008-07-11 20:38:31 +00:00  
				
					
						
							
							
								 
						
							
								3b46030375 
								
							 
						 
						
							
							
								
								Pool-allocation for MachineInstrs, MachineBasicBlocks, and  
							
							... 
							
							
							
							MachineMemOperands. The pools are owned by MachineFunctions.
This drastically reduces the number of calls to malloc/free made
during the "Emit" phase of scheduling, as well as later phases
in CodeGen. Combined with other changes, this speeds up the
"instruction selection" phase of CodeGen by 10% in some cases.
llvm-svn: 53212 
							
						 
						
							2008-07-07 23:14:23 +00:00  
				
					
						
							
							
								 
						
							
								4db1f62d84 
								
							 
						 
						
							
							
								
								Silence warning when no assertions.  
							
							... 
							
							
							
							llvm-svn: 49284 
							
						 
						
							2008-04-06 21:46:45 +00:00  
				
					
						
							
							
								 
						
							
								6d56368caf 
								
							 
						 
						
							
							
								
								Spiller now remove unused spill slots.  
							
							... 
							
							
							
							llvm-svn: 47657 
							
						 
						
							2008-02-27 03:04:06 +00:00  
				
					
						
							
							
								 
						
							
								d7a258d325 
								
							 
						 
						
							
							
								
								Rename PrintableName to Name.  
							
							... 
							
							
							
							llvm-svn: 47629 
							
						 
						
							2008-02-26 21:47:57 +00:00  
				
					
						
							
							
								 
						
							
								c24ea4fb41 
								
							 
						 
						
							
							
								
								Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool  
							
							... 
							
							
							
							would have been a Godsend here!
llvm-svn: 47625 
							
						 
						
							2008-02-26 21:11:01 +00:00  
				
					
						
							
							
								 
						
							
								3a4be0fdef 
								
							 
						 
						
							
							
								
								Rename MRegisterInfo to TargetRegisterInfo.  
							
							... 
							
							
							
							llvm-svn: 46930 
							
						 
						
							2008-02-10 18:45:23 +00:00  
				
					
						
							
							
								 
						
							
								6068832dbe 
								
							 
						 
						
							
							
								
								move MachineFrameInfo::CreateFixedObject out of line, give MachineFrameInfo  
							
							... 
							
							
							
							a reference to TargetFrameInfo.  Rearrange order of fields in StackObject to
save a word.
llvm-svn: 46348 
							
						 
						
							2008-01-25 07:19:06 +00:00  
				
					
						
							
							
								 
						
							
								574e7166e0 
								
							 
						 
						
							
							
								
								properly encapsulate the parent field of MBB and MI with get/set accessors.  
							
							... 
							
							
							
							llvm-svn: 45469 
							
						 
						
							2007-12-31 04:56:33 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
				
					
						
							
							
								 
						
							
								283207a71c 
								
							 
						 
						
							
							
								
								Eliminate the remaining uses of getTypeSize.  This  
							
							... 
							
							
							
							should only effect x86 when using long double.  Now
12/16 bytes are output for long double globals (the
exact amount depends on the alignment).  This brings
globals in line with the rest of LLVM: the space
reserved for an object is now always the ABI size.
One tricky point is that only 10 bytes should be
output for long double if it is a field in a packed
struct, which is the reason for the additional
argument to EmitGlobalConstant.
llvm-svn: 43688 
							
						 
						
							2007-11-05 00:04:43 +00:00  
				
					
						
							
							
								 
						
							
								c731c97fac 
								
							 
						 
						
							
							
								
								Use empty() member functions when that's what's being tested for instead  
							
							... 
							
							
							
							of comparing begin() and end().
llvm-svn: 42585 
							
						 
						
							2007-10-03 19:26:29 +00:00  
				
					
						
							
							
								 
						
							
								8c78a0bff0 
								
							 
						 
						
							
							
								
								Drop 'const'  
							
							... 
							
							
							
							llvm-svn: 36662 
							
						 
						
							2007-05-03 01:11:54 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								09f162ca6a 
								
							 
						 
						
							
							
								
								Do not use typeinfo to identify pass in pass manager.  
							
							... 
							
							
							
							llvm-svn: 36632 
							
						 
						
							2007-05-01 21:15:47 +00:00  
				
					
						
							
							
								 
						
							
								d21968d11a 
								
							 
						 
						
							
							
								
								Change UsedPhysRegs from array bool to BitVector to save some space. Setting / getting its states now go through MachineFunction.  
							
							... 
							
							
							
							llvm-svn: 36451 
							
						 
						
							2007-04-25 22:10:09 +00:00  
				
					
						
							
							
								 
						
							
								9bd98ea4c1 
								
							 
						 
						
							
							
								
								support > 4G stack objects  
							
							... 
							
							
							
							llvm-svn: 36422 
							
						 
						
							2007-04-25 04:20:54 +00:00  
				
					
						
							
							
								 
						
							
								945e437c65 
								
							 
						 
						
							
							
								
								Generalize TargetData strings, to support more interesting forms of data.  
							
							... 
							
							
							
							Patch by Scott Michel.
llvm-svn: 34266 
							
						 
						
							2007-02-14 05:52:17 +00:00  
				
					
						
							
							
								 
						
							
								50ee0e40e5 
								
							 
						 
						
							
							
								
								Teach TargetData to handle 'preferred' alignment for each target, and use  
							
							... 
							
							
							
							these alignment amounts to align scalars when we can.  Patch by Scott Michel!
llvm-svn: 33409 
							
						 
						
							2007-01-20 22:35:55 +00:00  
				
					
						
							
							
								 
						
							
								763550323d 
								
							 
						 
						
							
							
								
								Debug dump error.  
							
							... 
							
							
							
							llvm-svn: 32743 
							
						 
						
							2006-12-22 02:04:05 +00:00  
				
					
						
							
							
								 
						
							
								70323a8146 
								
							 
						 
						
							
							
								
								1. Tidy up jump table info.  
							
							... 
							
							
							
							2. Allow the jit to handle PIC relocable jump tables.
llvm-svn: 32581 
							
						 
						
							2006-12-14 19:17:33 +00:00  
				
					
						
							
							
								 
						
							
								355fc5ad50 
								
							 
						 
						
							
							
								
								Removed more <iostream> includes  
							
							... 
							
							
							
							llvm-svn: 32321 
							
						 
						
							2006-12-07 20:28:15 +00:00  
				
					
						
							
							
								 
						
							
								cde339cf1e 
								
							 
						 
						
							
							
								
								const'ify jump table stuff  
							
							... 
							
							
							
							llvm-svn: 31269 
							
						 
						
							2006-10-28 18:17:09 +00:00  
				
					
						
							
							
								 
						
							
								28328f9a0a 
								
							 
						 
						
							
							
								
								add an assert  
							
							... 
							
							
							
							llvm-svn: 31267 
							
						 
						
							2006-10-28 18:11:20 +00:00  
				
					
						
							
							
								 
						
							
								bd7286e606 
								
							 
						 
						
							
							
								
								Bugfixes  
							
							... 
							
							
							
							llvm-svn: 30709 
							
						 
						
							2006-10-03 20:19:23 +00:00  
				
					
						
							
							
								 
						
							
								64fd9487bd 
								
							 
						 
						
							
							
								
								Provide a function that ensures MBB numbering is dense and inorder.  This  
							
							... 
							
							
							
							can be used by MachineFunctionPasses who need this property.
llvm-svn: 30706 
							
						 
						
							2006-10-03 19:18:57 +00:00  
				
					
						
							
							
								 
						
							
								616aa548b2 
								
							 
						 
						
							
							
								
								Use getOffset() instead.  
							
							... 
							
							
							
							llvm-svn: 30327 
							
						 
						
							2006-09-14 07:41:12 +00:00  
				
					
						
							
							
								 
						
							
								4f9299552b 
								
							 
						 
						
							
							
								
								A MachineConstantPool may have mixed Constant* and MachineConstantPoolValue* values.  
							
							... 
							
							
							
							llvm-svn: 30316 
							
						 
						
							2006-09-14 05:50:57 +00:00  
				
					
						
							
							
								 
						
							
								45fe3bc72c 
								
							 
						 
						
							
							
								
								Added support for machine specific constantpool values. These are useful for  
							
							... 
							
							
							
							representing expressions that can only be resolved at link time, etc.
llvm-svn: 30278 
							
						 
						
							2006-09-12 21:00:35 +00:00  
				
					
						
							
							
								 
						
							
								3d27be1333 
								
							 
						 
						
							
							
								
								s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|  
							
							... 
							
							
							
							llvm-svn: 29911 
							
						 
						
							2006-08-27 12:54:02 +00:00  
				
					
						
							
							
								 
						
							
								436c2dd927 
								
							 
						 
						
							
							
								
								Add an out-of-line virtual function to home class.  
							
							... 
							
							
							
							llvm-svn: 29154 
							
						 
						
							2006-07-14 23:08:47 +00:00  
				
					
						
							
							
								 
						
							
								e097e6f7c7 
								
							 
						 
						
							
							
								
								Shave another 27K off libllvmgcc.dylib with visibility hidden  
							
							... 
							
							
							
							llvm-svn: 28973 
							
						 
						
							2006-06-28 22:17:39 +00:00  
				
					
						
							
							
								 
						
							
								ee7eaa25cf 
								
							 
						 
						
							
							
								
								For PR801:  
							
							... 
							
							
							
							Refactor the Graph writing code to use a common implementation which is
now in lib/Support/GraphWriter.cpp. This completes the PR.
Patch by Anton Korobeynikov. Thanks, Anton!
llvm-svn: 28925 
							
						 
						
							2006-06-27 16:49:46 +00:00  
				
					
						
							
							
								 
						
							
								7c77323e1d 
								
							 
						 
						
							
							
								
								For PR798:  
							
							... 
							
							
							
							Add support for Graphviz. Patch contributed by Anton Korobeynikov.
llvm-svn: 28684 
							
						 
						
							2006-06-05 15:44:46 +00:00  
				
					
						
							
							
								 
						
							
								52d0c78de8 
								
							 
						 
						
							
							
								
								Print the vreg that livein physregs are live in  
							
							... 
							
							
							
							llvm-svn: 28314 
							
						 
						
							2006-05-16 05:55:30 +00:00  
				
					
						
							
							
								 
						
							
								8c2c1e90c4 
								
							 
						 
						
							
							
								
								Refactor a bunch of includes so that TargetMachine.h doesn't have to include  
							
							... 
							
							
							
							TargetData.h.  This should make recompiles a bit faster with my current
TargetData tinkering.
llvm-svn: 28238 
							
						 
						
							2006-05-12 06:33:49 +00:00  
				
					
						
							
							
								 
						
							
								20a631fde7 
								
							 
						 
						
							
							
								
								Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses.  This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.  
							
							... 
							
							
							
							This fixes PR 759.
llvm-svn: 28074 
							
						 
						
							2006-05-03 01:29:57 +00:00  
				
					
						
							
							
								 
						
							
								3e04bb482b 
								
							 
						 
						
							
							
								
								Code cleanup associated with jump tables, thanks to Chris for noticing  
							
							... 
							
							
							
							these.
llvm-svn: 27950 
							
						 
						
							2006-04-22 23:52:35 +00:00  
				
					
						
							
							
								 
						
							
								4ca2ea5b43 
								
							 
						 
						
							
							
								
								JumpTable support!  What this represents is working asm and jit support for  
							
							... 
							
							
							
							x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.
llvm-svn: 27947 
							
						 
						
							2006-04-22 18:53:45 +00:00  
				
					
						
							
							
								 
						
							
								6bc4b9c7f8 
								
							 
						 
						
							
							
								
								Remove unused method  
							
							... 
							
							
							
							llvm-svn: 27379 
							
						 
						
							2006-04-03 21:39:03 +00:00  
				
					
						
							
							
								 
						
							
								f6190821da 
								
							 
						 
						
							
							
								
								Adjust to MachineConstantPool interface change: instead of keeping a  
							
							... 
							
							
							
							value/alignment pair for each constant, keep a value/offset pair.
llvm-svn: 26078 
							
						 
						
							2006-02-09 04:46:04 +00:00  
				
					
						
							
							
								 
						
							
								ba97264e72 
								
							 
						 
						
							
							
								
								rename fields of constant pool entries  
							
							... 
							
							
							
							llvm-svn: 26076 
							
						 
						
							2006-02-09 04:22:52 +00:00  
				
					
						
							
							
								 
						
							
								32be2dc0af 
								
							 
						 
						
							
							
								
								Allow the specification of explicit alignments for constant pool entries.  
							
							... 
							
							
							
							llvm-svn: 25855 
							
						 
						
							2006-01-31 22:23:14 +00:00  
				
					
						
							
							
								 
						
							
								57a5e0b45a 
								
							 
						 
						
							
							
								
								Moving MachineDebugInfo to module level location.  
							
							... 
							
							
							
							llvm-svn: 25090 
							
						 
						
							2006-01-04 13:43:56 +00:00  
				
					
						
							
							
								 
						
							
								7c462768ed 
								
							 
						 
						
							
							
								
								Added source file/line correspondence for dwarf (PowerPC only at this point.)  
							
							... 
							
							
							
							llvm-svn: 24748 
							
						 
						
							2005-12-16 22:45:29 +00:00  
				
					
						
							
							
								 
						
							
								d00db257c7 
								
							 
						 
						
							
							
								
								Added graphviz/gv support for MF.  
							
							... 
							
							
							
							llvm-svn: 23700 
							
						 
						
							2005-10-12 12:09:05 +00:00  
				
					
						
							
							
								 
						
							
								d4d10fff99 
								
							 
						 
						
							
							
								
								If a function has live ins/outs, print them  
							
							... 
							
							
							
							llvm-svn: 23181 
							
						 
						
							2005-08-31 22:34:59 +00:00  
				
					
						
							
							
								 
						
							
								77b220f3d5 
								
							 
						 
						
							
							
								
								print stack object alignment in -print-machineinstr dumps  
							
							... 
							
							
							
							llvm-svn: 21992 
							
						 
						
							2005-05-13 22:54:44 +00:00  
				
					
						
							
							
								 
						
							
								835702a094 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 21420 
							
						 
						
							2005-04-21 22:36:52 +00:00  
				
					
						
							
							
								 
						
							
								f6c93e36c7 
								
							 
						 
						
							
							
								
								Improve conformance with the Misha spelling benchmark suite  
							
							... 
							
							
							
							llvm-svn: 19930 
							
						 
						
							2005-01-30 00:09:23 +00:00  
				
					
						
							
							
								 
						
							
								e6074aa08b 
								
							 
						 
						
							
							
								
								adjust to ilist changes.  
							
							... 
							
							
							
							llvm-svn: 19924 
							
						 
						
							2005-01-29 18:41:25 +00:00  
				
					
						
							
							
								 
						
							
								304053c6ec 
								
							 
						 
						
							
							
								
								Add support for the PhysRegsUsed array.  
							
							... 
							
							
							
							llvm-svn: 19789 
							
						 
						
							2005-01-23 22:13:58 +00:00  
				
					
						
							
							
								 
						
							
								e64ff1c4b2 
								
							 
						 
						
							
							
								
								Silence warnings from VS  
							
							... 
							
							
							
							llvm-svn: 19386 
							
						 
						
							2005-01-08 19:55:00 +00:00  
				
					
						
							
							
								 
						
							
								58350a7435 
								
							 
						 
						
							
							
								
								Indent to 2 spaces and cleanup excess whitespace.  
							
							... 
							
							
							
							llvm-svn: 16188 
							
						 
						
							2004-09-05 18:41:35 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								a1d7802e3c 
								
							 
						 
						
							
							
								
								Move this code to lib/Target/SparcV9/MachineFunctionInfo.cpp  
							
							... 
							
							
							
							llvm-svn: 15834 
							
						 
						
							2004-08-16 22:36:34 +00:00  
				
					
						
							
							
								 
						
							
								9fb30a4257 
								
							 
						 
						
							
							
								
								Move MachineCodeForInstruction.h and MachineFunctionInfo.h into lib/Target/SparcV9  
							
							... 
							
							
							
							llvm-svn: 15830 
							
						 
						
							2004-08-16 21:55:02 +00:00  
				
					
						
							
							
								 
						
							
								224704fc6f 
								
							 
						 
						
							
							
								
								Add a note that people shouldn't use MachineFunctionInfo.  
							
							... 
							
							
							
							llvm-svn: 15823 
							
						 
						
							2004-08-16 18:27:24 +00:00  
				
					
						
							
							
								 
						
							
								c66f27fd29 
								
							 
						 
						
							
							
								
								Stop using CreateStackObject(RegClass*)  
							
							... 
							
							
							
							llvm-svn: 15775 
							
						 
						
							2004-08-15 22:02:22 +00:00  
				
					
						
							
							
								 
						
							
								e64f008fe3 
								
							 
						 
						
							
							
								
								Forward substitute some constants into their users  
							
							... 
							
							
							
							llvm-svn: 15693 
							
						 
						
							2004-08-12 18:10:18 +00:00  
				
					
						
							
							
								 
						
							
								eb02313413 
								
							 
						 
						
							
							
								
								The only target that uses this code (v9) always has argsOnStackHaveFixedSize  
							
							... 
							
							
							
							set to true (obviously)
llvm-svn: 15692 
							
						 
						
							2004-08-12 18:06:35 +00:00  
				
					
						
							
							
								 
						
							
								63b38bd2ed 
								
							 
						 
						
							
							
								
								Fix #includes of i*.h => Instructions.h as per PR403.  
							
							... 
							
							
							
							llvm-svn: 15334 
							
						 
						
							2004-07-29 17:30:56 +00:00  
				
					
						
							
							
								 
						
							
								2c422bbefb 
								
							 
						 
						
							
							
								
								Add viewCFG() and viewCFGOnly() APIs.  
							
							... 
							
							
							
							llvm-svn: 14679 
							
						 
						
							2004-07-08 00:47:58 +00:00  
				
					
						
							
							
								 
						
							
								eb04d9bcb4 
								
							 
						 
						
							
							
								
								Add #include <iostream> since Value.h does not #include it any more.  
							
							... 
							
							
							
							llvm-svn: 14622 
							
						 
						
							2004-07-04 12:19:56 +00:00  
				
					
						
							
							
								 
						
							
								9a60c532a8 
								
							 
						 
						
							
							
								
								Make sure that we destroy the MBB's, with all of their instructions, before  
							
							... 
							
							
							
							any other data structures
llvm-svn: 14524 
							
						 
						
							2004-07-01 06:29:07 +00:00  
				
					
						
							
							
								 
						
							
								a47455dbd3 
								
							 
						 
						
							
							
								
								Instance var no longer exists  
							
							... 
							
							
							
							llvm-svn: 14520 
							
						 
						
							2004-07-01 06:02:07 +00:00  
				
					
						
							
							
								 
						
							
								5888b5d4b1 
								
							 
						 
						
							
							
								
								Fix fallout from getOffsetOfLocalArea() being negated.  Debugging dumps were being  
							
							... 
							
							
							
							printed incorrectly, and we were reserving 8 extra bytes of stack space for functions
on X86.
llvm-svn: 14152 
							
						 
						
							2004-06-11 06:37:11 +00:00  
				
					
						
							
							
								 
						
							
								185fa54c68 
								
							 
						 
						
							
							
								
								Inline findOptimalStorageSize into it's caller, both of which are sparc specific  
							
							... 
							
							
							
							llvm-svn: 13955 
							
						 
						
							2004-06-02 05:56:52 +00:00  
				
					
						
							
							
								 
						
							
								91fa3a9908 
								
							 
						 
						
							
							
								
								Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.  
							
							... 
							
							
							
							llvm-svn: 13718 
							
						 
						
							2004-05-24 07:14:35 +00:00  
				
					
						
							
							
								 
						
							
								a578cb7a65 
								
							 
						 
						
							
							
								
								Added MachineFunction parent* to MachineBasicBlock. Customized ilist template  
							
							... 
							
							
							
							to set the parent when a MachineBasicBlock is added to a MachineFunction.
llvm-svn: 13716 
							
						 
						
							2004-05-24 06:11:51 +00:00  
				
					
						
							
							
								 
						
							
								4cf17775e8 
								
							 
						 
						
							
							
								
								Start NextMBBNumber out at zero.  
							
							... 
							
							
							
							llvm-svn: 13515 
							
						 
						
							2004-05-12 21:35:23 +00:00  
				
					
						
							
							
								 
						
							
								2fe0ac9ade 
								
							 
						 
						
							
							
								
								Change how the beginnings and ends of MachineFunctions are printed. Get  
							
							... 
							
							
							
							rid of the funny cast.
llvm-svn: 12537 
							
						 
						
							2004-03-29 21:58:31 +00:00  
				
					
						
							
							
								 
						
							
								427cec1395 
								
							 
						 
						
							
							
								
								TargetCacheInfo has been removed; its only uses were to propagate a constant  
							
							... 
							
							
							
							(16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's
dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in
the interest of not breaking things any more than they already are, I'm going
to leave the constant alone.
llvm-svn: 12043 
							
						 
						
							2004-03-01 06:43:29 +00:00  
				
					
						
							
							
								 
						
							
								d5a49c477d 
								
							 
						 
						
							
							
								
								Remove use of an ugly header  
							
							... 
							
							
							
							llvm-svn: 12002 
							
						 
						
							2004-02-29 19:04:31 +00:00  
				
					
						
							
							
								 
						
							
								14f3fe81c6 
								
							 
						 
						
							
							
								
								Add LeakDetection to MachineInstr.  
							
							... 
							
							
							
							Move out of line member functions of MachineBasicBlock to
MachineBasicBlock.cpp.
llvm-svn: 11497 
							
						 
						
							2004-02-16 07:17:43 +00:00  
				
					
						
							
							
								 
						
							
								6a35516dcc 
								
							 
						 
						
							
							
								
								Add back machine code deleter pass until we get a MachineCode pass  
							
							... 
							
							
							
							that will be responsible for the creation of MachineFunctions and will
be required by all MachineFunctionPass passes.
llvm-svn: 11453 
							
						 
						
							2004-02-15 00:03:15 +00:00  
				
					
						
							
							
								 
						
							
								52440fd481 
								
							 
						 
						
							
							
								
								Refactor MachineFunction::print() into MachineBasicBlock::print().  
							
							... 
							
							
							
							Add MachineBasicBlock::dump().
llvm-svn: 11364 
							
						 
						
							2004-02-13 04:39:55 +00:00  
				
					
						
							
							
								 
						
							
								80da865f77 
								
							 
						 
						
							
							
								
								Change MachineBasicBlock's vector of MachineInstr pointers into an  
							
							... 
							
							
							
							ilist of MachineInstr objects. This allows constant time removal and
insertion of MachineInstr instances from anywhere in each
MachineBasicBlock. It also allows for constant time splicing of
MachineInstrs into or out of MachineBasicBlocks.
llvm-svn: 11340 
							
						 
						
							2004-02-12 02:27:10 +00:00  
				
					
						
							
							
								 
						
							
								cae054f59f 
								
							 
						 
						
							
							
								
								Fix a bug in a recent checkin  
							
							... 
							
							
							
							llvm-svn: 11050 
							
						 
						
							2004-02-01 05:25:07 +00:00  
				
					
						
							
							
								 
						
							
								845c0dd196 
								
							 
						 
						
							
							
								
								Give clients of MachineFunctionPrinter the ability to specify a banner and  
							
							... 
							
							
							
							choose an ostream.
llvm-svn: 11016 
							
						 
						
							2004-01-30 21:53:46 +00:00  
				
					
						
							
							
								 
						
							
								4cbb97bfdd 
								
							 
						 
						
							
							
								
								Add a new target-independent machine code freeing pass  
							
							... 
							
							
							
							llvm-svn: 10560 
							
						 
						
							2003-12-20 10:20:58 +00:00  
				
					
						
							
							
								 
						
							
								9a3478e022 
								
							 
						 
						
							
							
								
								* Finegrainify namespacification  
							
							... 
							
							
							
							* Move sparc specific code out of generic code
* Eliminate the getOffset() method which made INVALID_FRAME_OFFSET
  necessary, which made pulling in MAX_INT as a sentinal necessary.
llvm-svn: 10553 
							
						 
						
							2003-12-20 09:17:07 +00:00  
				
					
						
							
							
								 
						
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
				
					
						
							
							
								 
						
							
								482202a601 
								
							 
						 
						
							
							
								
								Added LLVM project notice to the top of every C++ source file.  
							
							... 
							
							
							
							Header files will be on the way.
llvm-svn: 9298 
							
						 
						
							2003-10-20 19:43:21 +00:00  
				
					
						
							
							
								 
						
							
								89207943a1 
								
							 
						 
						
							
							
								
								Factory methods for FunctionPasses now return type FunctionPass *.  
							
							... 
							
							
							
							llvm-svn: 7823 
							
						 
						
							2003-08-13 18:18:15 +00:00  
				
					
						
							
							
								 
						
							
								414832fea6 
								
							 
						 
						
							
							
								
								Const correctness fixes  
							
							... 
							
							
							
							llvm-svn: 7349 
							
						 
						
							2003-07-26 23:24:56 +00:00  
				
					
						
							
							
								 
						
							
								3ef61afb76 
								
							 
						 
						
							
							
								
								Merged in autoconf branch.  This provides configuration via the autoconf  
							
							... 
							
							
							
							system.
llvm-svn: 7014 
							
						 
						
							2003-06-30 21:59:07 +00:00  
				
					
						
							
							
								 
						
							
								6ee2cf5d89 
								
							 
						 
						
							
							
								
								Remove unneccesary &*  
							
							... 
							
							
							
							llvm-svn: 5871 
							
						 
						
							2003-04-23 16:36:11 +00:00  
				
					
						
							
							
								 
						
							
								eb45c982ae 
								
							 
						 
						
							
							
								
								Print machine frame objects with the frame offset intrinsic to the machine  
							
							... 
							
							
							
							llvm-svn: 5329 
							
						 
						
							2003-01-16 18:35:57 +00:00  
				
					
						
							
							
								 
						
							
								c6807e8f5d 
								
							 
						 
						
							
							
								
								Add support for constant pool  
							
							... 
							
							
							
							Add helper methods for MachineFrameInfo
llvm-svn: 5216 
							
						 
						
							2003-01-13 00:23:03 +00:00  
				
					
						
							
							
								 
						
							
								42d59219c7 
								
							 
						 
						
							
							
								
								Rename MachineOptInfo to TargetoptInfo  
							
							... 
							
							
							
							Rename MachineCacheInfo to TargetCacheInfo
llvm-svn: 5203 
							
						 
						
							2002-12-29 02:50:35 +00:00  
				
					
						
							
							
								 
						
							
								ca4362fee7 
								
							 
						 
						
							
							
								
								Rename FunctionFrameInfo to MachineFrameInfo  
							
							... 
							
							
							
							llvm-svn: 5200 
							
						 
						
							2002-12-28 21:08:26 +00:00  
				
					
						
							
							
								 
						
							
								871e591e34 
								
							 
						 
						
							
							
								
								Rename MachineFrameInfo to TargetFrameInfo.h  
							
							... 
							
							
							
							llvm-svn: 5199 
							
						 
						
							2002-12-28 21:00:25 +00:00  
				
					
						
							
							
								 
						
							
								32525647e1 
								
							 
						 
						
							
							
								
								* A bunch of functionality and data was removed from MachineFunction and put  
							
							... 
							
							
							
							into a new MachineFunctionInfo class
* Implement new FunctionFrameInfo class
llvm-svn: 5193 
							
						 
						
							2002-12-28 20:37:16 +00:00  
				
					
						
							
							
								 
						
							
								448fb45b2d 
								
							 
						 
						
							
							
								
								Remove dependency on SSARegMap.h by MachineFunction.h  
							
							... 
							
							
							
							llvm-svn: 5143 
							
						 
						
							2002-12-25 05:03:22 +00:00  
				
					
						
							
							
								 
						
							
								f895418b47 
								
							 
						 
						
							
							
								
								Implement printing of MBB arguments  
							
							... 
							
							
							
							llvm-svn: 5053 
							
						 
						
							2002-12-15 20:35:25 +00:00  
				
					
						
							
							
								 
						
							
								d5b111a10c 
								
							 
						 
						
							
							
								
								Initialize the SSARegMap.  
							
							... 
							
							
							
							llvm-svn: 4782 
							
						 
						
							2002-11-20 18:55:27 +00:00  
				
					
						
							
							
								 
						
							
								214808f8ac 
								
							 
						 
						
							
							
								
								Implement structured machine code printing  
							
							... 
							
							
							
							llvm-svn: 4435 
							
						 
						
							2002-10-30 00:48:05 +00:00  
				
					
						
							
							
								 
						
							
								90e64905b9 
								
							 
						 
						
							
							
								
								Make argsize calculation stuff optional, so that Targets without FrameInfo  
							
							... 
							
							
							
							objects yet don't die
llvm-svn: 4427 
							
						 
						
							2002-10-29 23:40:03 +00:00  
				
					
						
							
							
								 
						
							
								bbd68ada1a 
								
							 
						 
						
							
							
								
								Rename annotation id  
							
							... 
							
							
							
							llvm-svn: 4425 
							
						 
						
							2002-10-29 23:18:43 +00:00  
				
					
						
							
							
								 
						
							
								6be5e92526 
								
							 
						 
						
							
							
								
								Replaced uses of deprecated `MachineFunction::get(BasicBlock *BB)'.  
							
							... 
							
							
							
							llvm-svn: 4351 
							
						 
						
							2002-10-28 20:00:31 +00:00  
				
					
						
							
							
								 
						
							
								7421df92cb 
								
							 
						 
						
							
							
								
								Eliminate unneccesary use of MachineBasicBlock::get  
							
							... 
							
							
							
							llvm-svn: 4339 
							
						 
						
							2002-10-28 06:01:57 +00:00  
				
					
						
							
							
								 
						
							
								ba3a8060ff 
								
							 
						 
						
							
							
								
								s/method/function  
							
							... 
							
							
							
							llvm-svn: 4338 
							
						 
						
							2002-10-28 05:58:46 +00:00  
				
					
						
							
							
								 
						
							
								8c63b6897d 
								
							 
						 
						
							
							
								
								Change MachineBasicBlock's to not be Annotations, instead they are kept as  
							
							... 
							
							
							
							part of a linked list tracked by MachineFunction.  MachineBasicBlock::get
is now linear time instead of constant time, and thus is deprecated!
llvm-svn: 4337 
							
						 
						
							2002-10-28 05:30:46 +00:00  
				
					
						
							
							
								 
						
							
								658839bafd 
								
							 
						 
						
							
							
								
								MachineFunction now includes MachineBasicBlock so there is no need to  
							
							... 
							
							
							
							reinclude it
llvm-svn: 4322 
							
						 
						
							2002-10-28 02:01:35 +00:00  
				
					
						
							
							
								 
						
							
								8710aab04c 
								
							 
						 
						
							
							
								
								Rename MachineCodeForBasicBlock to MachineBasicBlock  
							
							... 
							
							
							
							llvm-svn: 4318 
							
						 
						
							2002-10-28 01:41:47 +00:00  
				
					
						
							
							
								 
						
							
								8494d08688 
								
							 
						 
						
							
							
								
								Minor cleanups  
							
							... 
							
							
							
							llvm-svn: 4312 
							
						 
						
							2002-10-28 01:16:38 +00:00  
				
					
						
							
							
								 
						
							
								6d8a6c645c 
								
							 
						 
						
							
							
								
								Move machine code generation/destruction passes out of Sparc.cpp because  
							
							... 
							
							
							
							they are generic
llvm-svn: 4310 
							
						 
						
							2002-10-28 01:12:41 +00:00  
				
					
						
							
							
								 
						
							
								f9df48d34c 
								
							 
						 
						
							
							
								
								Prune #includes  
							
							... 
							
							
							
							llvm-svn: 4307 
							
						 
						
							2002-10-28 01:02:51 +00:00  
				
					
						
							
							
								 
						
							
								7ae7f84cf3 
								
							 
						 
						
							
							
								
								Changed `MachineCodeForMethod' to `MachineFunction'.  
							
							... 
							
							
							
							llvm-svn: 4301 
							
						 
						
							2002-10-28 00:28:31 +00:00  
				
					
						
							
							
								 
						
							
								ffc9dd5c0d 
								
							 
						 
						
							
							
								
								Don't pad variables in stack slots for performance!  
							
							... 
							
							
							
							llvm-svn: 4115 
							
						 
						
							2002-10-11 16:10:53 +00:00  
				
					
						
							
							
								 
						
							
								e567179aaa 
								
							 
						 
						
							
							
								
								Improve and fix error in allocating stack slots: adjust alignment after adding  
							
							... 
							
							
							
							base address of the relevant region (instead of assuming that each region
is maximally aligned).
llvm-svn: 3736 
							
						 
						
							2002-09-16 15:18:16 +00:00  
				
					
						
							
							
								 
						
							
								10073a9080 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 3075 
							
						 
						
							2002-07-25 06:17:51 +00:00  
				
					
						
							
							
								 
						
							
								e98dd5fcac 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 3056 
							
						 
						
							2002-07-24 21:21:32 +00:00  
				
					
						
							
							
								 
						
							
								3de6fcfdec 
								
							 
						 
						
							
							
								
								added std:: to endl  
							
							... 
							
							
							
							llvm-svn: 2875 
							
						 
						
							2002-07-11 00:17:17 +00:00  
				
					
						
							
							
								 
						
							
								6a36c8f2b9 
								
							 
						 
						
							
							
								
								Fix print of BB name in dump().  
							
							... 
							
							
							
							llvm-svn: 2861 
							
						 
						
							2002-07-10 21:45:30 +00:00  
				
					
						
							
							
								 
						
							
								4180fe41c2 
								
							 
						 
						
							
							
								
								Fix printing of BB in dump.  
							
							... 
							
							
							
							llvm-svn: 2830 
							
						 
						
							2002-07-08 23:03:54 +00:00  
				
					
						
							
							
								 
						
							
								7076ff29ed 
								
							 
						 
						
							
							
								
								MEGAPATCH checkin.  
							
							... 
							
							
							
							For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778 
							
						 
						
							2002-06-25 16:13:21 +00:00  
				
					
						
							
							
								 
						
							
								7092772475 
								
							 
						 
						
							
							
								
								Optional args are no longer allocated as they are discovered.  
							
							... 
							
							
							
							(This can be improved to avoid making the initial pass over the method.)
Also, ensure automatic vars and reg. spills areas are not extended
if their sizes are used for computing some other offset.
llvm-svn: 2310 
							
						 
						
							2002-04-25 04:30:43 +00:00  
				
					
						
							
							
								 
						
							
								62b7fd136e 
								
							 
						 
						
							
							
								
								Change references to the Method class to be references to the Function  
							
							... 
							
							
							
							class.  The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
llvm-svn: 2144 
							
						 
						
							2002-04-07 20:49:59 +00:00  
				
					
						
							
							
								 
						
							
								f434a9ed5f 
								
							 
						 
						
							
							
								
								Include temp. values when computing max. size of stack frame!  
							
							... 
							
							
							
							llvm-svn: 2070 
							
						 
						
							2002-03-31 18:57:49 +00:00  
				
					
						
							
							
								 
						
							
								377646fcfd 
								
							 
						 
						
							
							
								
								Fix padding for variables allocated on stack.  
							
							... 
							
							
							
							llvm-svn: 1969 
							
						 
						
							2002-03-24 03:39:26 +00:00  
				
					
						
							
							
								 
						
							
								7446b323a7 
								
							 
						 
						
							
							
								
								Added function computeOffsetforLocalVar to check how big the  
							
							... 
							
							
							
							offset-from-FP will be before allocating space for a local variable.
llvm-svn: 1905 
							
						 
						
							2002-03-18 03:36:30 +00:00  
				
					
						
							
							
								 
						
							
								7c7930f59c 
								
							 
						 
						
							
							
								
								* Make it compile with GCC 3.0.4  
							
							... 
							
							
							
							llvm-svn: 1788 
							
						 
						
							2002-02-24 23:01:56 +00:00  
				
					
						
							
							
								 
						
							
								60a6591d83 
								
							 
						 
						
							
							
								
								Method.h no longer includes BasicBlock.h  
							
							... 
							
							
							
							Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h
llvm-svn: 1746 
							
						 
						
							2002-02-12 21:07:25 +00:00  
				
					
						
							
							
								 
						
							
								eda6bd71a0 
								
							 
						 
						
							
							
								
								Code pulled out of MAchineInstr.(h|cpp)  
							
							... 
							
							
							
							llvm-svn: 1660 
							
						 
						
							2002-02-03 07:54:50 +00:00