720bc02f18 
								
							 
						 
						
							
							
								
								* Move command line parsing debug stuff to InstrScheduling internal header file  
							
							... 
							
							
							
							SchedPriorities.h
llvm-svn: 1669 
							
						 
						
							2002-02-04 02:44:20 +00:00  
				
					
						
							
							
								 
						
							
								36aa542ef0 
								
							 
						 
						
							
							
								
								Split RegisterAllocation stuff OUT of Sparc.cpp into a well defined pass  
							
							... 
							
							
							
							that has a very minimal interface (like it should have).
llvm-svn: 1667 
							
						 
						
							2002-02-04 00:33:08 +00:00  
				
					
						
							
							
								 
						
							
								eda6bd71a0 
								
							 
						 
						
							
							
								
								Code pulled out of MAchineInstr.(h|cpp)  
							
							... 
							
							
							
							llvm-svn: 1660 
							
						 
						
							2002-02-03 07:54:50 +00:00  
				
					
						
							
							
								 
						
							
								abafc3bc70 
								
							 
						 
						
							
							
								
								Lots of code cleanups, no functional changes  
							
							... 
							
							
							
							llvm-svn: 1650 
							
						 
						
							2002-02-03 07:46:34 +00:00  
				
					
						
							
							
								 
						
							
								4cec147d4e 
								
							 
						 
						
							
							
								
								* Prune #includes  
							
							... 
							
							
							
							* Remove MachineCodeFor(Method|VMInstr) code to their own .cpp files
llvm-svn: 1649 
							
						 
						
							2002-02-03 07:46:01 +00:00  
				
					
						
							
							
								 
						
							
								b86d191dbe 
								
							 
						 
						
							
							
								
								* Switch over to cleaner TmpInstruction model  
							
							... 
							
							
							
							llvm-svn: 1648 
							
						 
						
							2002-02-03 07:39:06 +00:00  
				
					
						
							
							
								 
						
							
								e59929f7b2 
								
							 
						 
						
							
							
								
								* Straighten out #includes  
							
							... 
							
							
							
							* Switch to MAchineCodeForInstruction model instead of MachineCodeForVMInstr
llvm-svn: 1647 
							
						 
						
							2002-02-03 07:33:46 +00:00  
				
					
						
							
							
								 
						
							
								0068ea26d7 
								
							 
						 
						
							
							
								
								* Swich to annotation model for MachineCodeForInstruction  
							
							... 
							
							
							
							llvm-svn: 1646 
							
						 
						
							2002-02-03 07:31:41 +00:00  
				
					
						
							
							
								 
						
							
								02d8e37cae 
								
							 
						 
						
							
							
								
								Remove extraneous #includes  
							
							... 
							
							
							
							llvm-svn: 1645 
							
						 
						
							2002-02-03 07:30:08 +00:00  
				
					
						
							
							
								 
						
							
								a17c469136 
								
							 
						 
						
							
							
								
								* Straighten out #includes  
							
							... 
							
							
							
							* Switch from MachineCodeForVMInstr to MachineCodeForInstruction model
llvm-svn: 1644 
							
						 
						
							2002-02-03 07:29:45 +00:00  
				
					
						
							
							
								 
						
							
								7c9c85947c 
								
							 
						 
						
							
							
								
								* Get machine instrs from Instructin's by using MachineCodeForInstruction::get  
							
							... 
							
							
							
							* Convert a few (*X). to X->
llvm-svn: 1643 
							
						 
						
							2002-02-03 07:28:30 +00:00  
				
					
						
							
							
								 
						
							
								6316f38c96 
								
							 
						 
						
							
							
								
								Add a class forward decl  
							
							... 
							
							
							
							llvm-svn: 1637 
							
						 
						
							2002-02-03 07:13:04 +00:00  
				
					
						
							
							
								 
						
							
								9fcaf328f6 
								
							 
						 
						
							
							
								
								LoopDepth calculation is now in CFG namespace  
							
							... 
							
							
							
							llvm-svn: 1601 
							
						 
						
							2002-01-31 00:41:13 +00:00  
				
					
						
							
							
								 
						
							
								447fd86599 
								
							 
						 
						
							
							
								
								Make it build with 2.95.3  
							
							... 
							
							
							
							llvm-svn: 1554 
							
						 
						
							2002-01-23 05:47:57 +00:00  
				
					
						
							
							
								 
						
							
								73da1cea60 
								
							 
						 
						
							
							
								
								Oops lost a parenthesis somehow  :(  
							
							... 
							
							
							
							llvm-svn: 1504 
							
						 
						
							2002-01-21 01:33:12 +00:00  
				
					
						
							
							
								 
						
							
								7f74a56e24 
								
							 
						 
						
							
							
								
								Changes to build successfully with GCC 3.02  
							
							... 
							
							
							
							llvm-svn: 1503 
							
						 
						
							2002-01-20 22:54:45 +00:00  
				
					
						
							
							
								 
						
							
								bc28455806 
								
							 
						 
						
							
							
								
								Fixed a bug in spill cost estimation  
							
							... 
							
							
							
							llvm-svn: 1500 
							
						 
						
							2002-01-08 16:29:23 +00:00  
				
					
						
							
							
								 
						
							
								a42a7e78b6 
								
							 
						 
						
							
							
								
								PhyRegAlloc.cpp: Added temp area resetting before every call  
							
							... 
							
							
							
							llvm-svn: 1499 
							
						 
						
							2002-01-07 21:09:06 +00:00  
				
					
						
							
							
								 
						
							
								8c2d8256a9 
								
							 
						 
						
							
							
								
								Added destructors and comments.  
							
							... 
							
							
							
							Added correct spill candidate selection logic.
llvm-svn: 1493 
							
						 
						
							2002-01-07 19:19:18 +00:00  
				
					
						
							
							
								 
						
							
								f20079dfed 
								
							 
						 
						
							
							
								
								Added comments, destructors where necessary.  
							
							... 
							
							
							
							llvm-svn: 1491 
							
						 
						
							2002-01-07 19:16:26 +00:00  
				
					
						
							
							
								 
						
							
								cb2335f13f 
								
							 
						 
						
							
							
								
								Eliminate all uses of memInst->getIndicesBROKEN().  
							
							... 
							
							
							
							llvm-svn: 1485 
							
						 
						
							2001-12-15 00:36:32 +00:00  
				
					
						
							
							
								 
						
							
								2413b160ec 
								
							 
						 
						
							
							
								
								Renamed inst_const_iterator -> const_inst_iterator  
							
							... 
							
							
							
							Renamed op_const_iterator   -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
llvm-svn: 1408 
							
						 
						
							2001-12-04 00:03:30 +00:00  
				
					
						
							
							
								 
						
							
								3462ae3ad7 
								
							 
						 
						
							
							
								
								Rename ConstPoolVal -> Constant  
							
							... 
							
							
							
							Rename ConstPool*   -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407 
							
						 
						
							2001-12-03 22:26:30 +00:00  
				
					
						
							
							
								 
						
							
								fb5ae02e1a 
								
							 
						 
						
							
							
								
								Split the PHINode class out from the iOther.h file into the iPHINode.h file  
							
							... 
							
							
							
							llvm-svn: 1405 
							
						 
						
							2001-12-03 18:02:31 +00:00  
				
					
						
							
							
								 
						
							
								5de2204fe8 
								
							 
						 
						
							
							
								
								Create a new #include "Support/..." directory structure to move things  
							
							... 
							
							
							
							from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400 
							
						 
						
							2001-11-27 00:03:19 +00:00  
				
					
						
							
							
								 
						
							
								0c8eea1b6f 
								
							 
						 
						
							
							
								
								Stuff after a #endif is not valid CPP input and breaks some compilers  
							
							... 
							
							
							
							llvm-svn: 1375 
							
						 
						
							2001-11-26 18:56:52 +00:00  
				
					
						
							
							
								 
						
							
								63b52693c8 
								
							 
						 
						
							
							
								
								The old getIndices has been deprecated, because it no longer works.  It now  
							
							... 
							
							
							
							is named getIndicesBROKEN() and shall be removed when the codebase is updated
to not call it
llvm-svn: 1338 
							
						 
						
							2001-11-26 16:56:19 +00:00  
				
					
						
							
							
								 
						
							
								7dfa1650a2 
								
							 
						 
						
							
							
								
								Commented some popTempArg.. since it leads to a bug  
							
							... 
							
							
							
							llvm-svn: 1326 
							
						 
						
							2001-11-15 22:02:06 +00:00  
				
					
						
							
							
								 
						
							
								ec62f24009 
								
							 
						 
						
							
							
								
								Added naming to inserted phi copy values - for easy debugging  
							
							... 
							
							
							
							llvm-svn: 1325 
							
						 
						
							2001-11-15 20:46:40 +00:00  
				
					
						
							
							
								 
						
							
								9066899a78 
								
							 
						 
						
							
							
								
								Fixed a bug in setReLRegsUsedByMI  
							
							... 
							
							
							
							llvm-svn: 1323 
							
						 
						
							2001-11-15 20:23:19 +00:00  
				
					
						
							
							
								 
						
							
								dec9bfd554 
								
							 
						 
						
							
							
								
								Changed some names of methods, added const etc.  
							
							... 
							
							
							
							llvm-svn: 1322 
							
						 
						
							2001-11-15 20:22:37 +00:00  
				
					
						
							
							
								 
						
							
								fbb8a64749 
								
							 
						 
						
							
							
								
								Modify AllocateLocalVar method to take a size argument.  
							
							... 
							
							
							
							llvm-svn: 1318 
							
						 
						
							2001-11-15 15:22:26 +00:00  
				
					
						
							
							
								 
						
							
								a514745a96 
								
							 
						 
						
							
							
								
								fixed setUsedRegAtMI  
							
							... 
							
							
							
							llvm-svn: 1317 
							
						 
						
							2001-11-15 15:00:53 +00:00  
				
					
						
							
							
								 
						
							
								c5989f645b 
								
							 
						 
						
							
							
								
								Changed phi elimination code  
							
							... 
							
							
							
							llvm-svn: 1311 
							
						 
						
							2001-11-15 00:27:14 +00:00  
				
					
						
							
							
								 
						
							
								64f7567391 
								
							 
						 
						
							
							
								
								Small changed to printing a machine operand - It the operand is a def, it prints  
							
							... 
							
							
							
							a star after it - only for debugging
llvm-svn: 1309 
							
						 
						
							2001-11-14 20:05:23 +00:00  
				
					
						
							
							
								 
						
							
								cba86d060b 
								
							 
						 
						
							
							
								
								Don't assume constant operand can only be in position 1!  
							
							... 
							
							
							
							llvm-svn: 1308 
							
						 
						
							2001-11-14 18:49:45 +00:00  
				
					
						
							
							
								 
						
							
								65d54eb06e 
								
							 
						 
						
							
							
								
								Idiotic error in last fix.  
							
							... 
							
							
							
							llvm-svn: 1306 
							
						 
						
							2001-11-14 17:55:02 +00:00  
				
					
						
							
							
								 
						
							
								c1b534043f 
								
							 
						 
						
							
							
								
								Don't need to load a NULL pointer constant from memory!  
							
							... 
							
							
							
							llvm-svn: 1305 
							
						 
						
							2001-11-14 17:24:49 +00:00  
				
					
						
							
							
								 
						
							
								7765ca8b25 
								
							 
						 
						
							
							
								
								Added support method for setting interference for pseudo instructions  
							
							... 
							
							
							
							llvm-svn: 1303 
							
						 
						
							2001-11-14 15:37:13 +00:00  
				
					
						
							
							
								 
						
							
								f1acecccb6 
								
							 
						 
						
							
							
								
								Added interference for args in pseudo instructions  
							
							... 
							
							
							
							llvm-svn: 1300 
							
						 
						
							2001-11-14 15:33:58 +00:00  
				
					
						
							
							
								 
						
							
								1237e86597 
								
							 
						 
						
							
							
								
								Remove much cruft from the MemAccessInst instruction  
							
							... 
							
							
							
							llvm-svn: 1298 
							
						 
						
							2001-11-14 11:27:58 +00:00  
				
					
						
							
							
								 
						
							
								33c400f6a7 
								
							 
						 
						
							
							
								
								commented out lines printing code after scheduling  
							
							... 
							
							
							
							llvm-svn: 1295 
							
						 
						
							2001-11-13 23:12:53 +00:00  
				
					
						
							
							
								 
						
							
								36f13d1c2f 
								
							 
						 
						
							
							
								
								Fixed a bug concering LR spilling. Earlier, added spilled code was not inserted  
							
							... 
							
							
							
							into the instruction stream correctly.
llvm-svn: 1294 
							
						 
						
							2001-11-13 23:09:30 +00:00  
				
					
						
							
							
								 
						
							
								dafc8b909e 
								
							 
						 
						
							
							
								
								Do the same for allocating spills to get their alignment right too.  
							
							... 
							
							
							
							llvm-svn: 1285 
							
						 
						
							2001-11-12 23:40:22 +00:00  
				
					
						
							
							
								 
						
							
								6e9422e14c 
								
							 
						 
						
							
							
								
								When allocating space on stack for writing a register,  
							
							... 
							
							
							
							use the size of the register, not the size of the Value type,
to get the right alignment.
llvm-svn: 1284 
							
						 
						
							2001-11-12 23:26:35 +00:00  
				
					
						
							
							
								 
						
							
								4b9c46da24 
								
							 
						 
						
							
							
								
								Bug fix in offset alignment computations: don't subtract the padding  
							
							... 
							
							
							
							value from size *before* subtracting size from offset!
llvm-svn: 1283 
							
						 
						
							2001-11-12 23:26:23 +00:00  
				
					
						
							
							
								 
						
							
								c189997516 
								
							 
						 
						
							
							
								
								For phi elimination, now we are generating only one instruction  
							
							... 
							
							
							
							using cpValue2Value instead of
passing vector to createCopyInstructionByType.
llvm-svn: 1272 
							
						 
						
							2001-11-12 19:42:27 +00:00  
				
					
						
							
							
								 
						
							
								03fae5e5db 
								
							 
						 
						
							
							
								
								Eliminate most uses of the machine instruction vector for each LLVM instr,  
							
							... 
							
							
							
							since some m. instr. may be generated by LLVM instrs. in other blocks.
Handle non-SSA (anti and output) edges and true edges uniformly by
working with machine instructions alone.
llvm-svn: 1269 
							
						 
						
							2001-11-12 18:53:43 +00:00  
				
					
						
							
							
								 
						
							
								9f246e65d3 
								
							 
						 
						
							
							
								
								Added phi elimination code - not final  
							
							... 
							
							
							
							llvm-svn: 1264 
							
						 
						
							2001-11-12 14:44:50 +00:00  
				
					
						
							
							
								 
						
							
								6e004c0818 
								
							 
						 
						
							
							
								
								Improved printing routines.  
							
							... 
							
							
							
							llvm-svn: 1263 
							
						 
						
							2001-11-12 14:19:47 +00:00  
				
					
						
							
							
								 
						
							
								dff0a891c1 
								
							 
						 
						
							
							
								
								Major improvement to how nodes are built for a BB.  
							
							... 
							
							
							
							LLVM instruction is no longer recorded in each node, but BB is.
llvm-svn: 1262 
							
						 
						
							2001-11-12 14:18:01 +00:00  
				
					
						
							
							
								 
						
							
								3b02a35a80 
								
							 
						 
						
							
							
								
								Adjust all stack variable offsets to be aligned by size.  
							
							... 
							
							
							
							llvm-svn: 1261 
							
						 
						
							2001-11-12 05:17:23 +00:00  
				
					
						
							
							
								 
						
							
								1d5c6e0939 
								
							 
						 
						
							
							
								
								Fix errors in computing downgrowing offsets, and in  
							
							... 
							
							
							
							computing size of extra outgoing args.
llvm-svn: 1256 
							
						 
						
							2001-11-11 21:23:33 +00:00  
				
					
						
							
							
								 
						
							
								6cd83556e6 
								
							 
						 
						
							
							
								
								Only add true dep. edges from an earlier to a later instruction.  
							
							... 
							
							
							
							This wasn't a problem until we started putting copies for Phi values
that produced cycles in the SchedGraph!
llvm-svn: 1254 
							
						 
						
							2001-11-11 01:23:27 +00:00  
				
					
						
							
							
								 
						
							
								d1d5e97431 
								
							 
						 
						
							
							
								
								Changed code to ignore Phi Nodes in PhyRegAlloc  
							
							... 
							
							
							
							llvm-svn: 1253 
							
						 
						
							2001-11-10 21:21:36 +00:00  
				
					
						
							
							
								 
						
							
								31305c0d57 
								
							 
						 
						
							
							
								
								Coalesing bug fix - now checks for the same regType instead of the same  
							
							... 
							
							
							
							regClass since FP class has two reg Types.
llvm-svn: 1236 
							
						 
						
							2001-11-10 00:20:24 +00:00  
				
					
						
							
							
								 
						
							
								d499a26116 
								
							 
						 
						
							
							
								
								No major change  
							
							... 
							
							
							
							llvm-svn: 1235 
							
						 
						
							2001-11-09 23:49:42 +00:00  
				
					
						
							
							
								 
						
							
								313a36f2d3 
								
							 
						 
						
							
							
								
								Use node->getOpCode() instead of node->getMachineInstr()->getOpCode().  
							
							... 
							
							
							
							Much nicer.
llvm-svn: 1223 
							
						 
						
							2001-11-09 02:14:20 +00:00  
				
					
						
							
							
								 
						
							
								2b48b9694c 
								
							 
						 
						
							
							
								
								Add method decl  
							
							... 
							
							
							
							llvm-svn: 1217 
							
						 
						
							2001-11-08 20:55:05 +00:00  
				
					
						
							
							
								 
						
							
								dc709780aa 
								
							 
						 
						
							
							
								
								corrected insertCode4Spilled ...  bug.  
							
							... 
							
							
							
							llvm-svn: 1212 
							
						 
						
							2001-11-08 19:11:30 +00:00  
				
					
						
							
							
								 
						
							
								19a5165c29 
								
							 
						 
						
							
							
								
								Uncommented LR spill code insertion  
							
							... 
							
							
							
							llvm-svn: 1207 
							
						 
						
							2001-11-08 16:43:25 +00:00  
				
					
						
							
							
								 
						
							
								621b90440b 
								
							 
						 
						
							
							
								
								Major change to how defs are found when adding dependences (they  
							
							... 
							
							
							
							are now found as part of the initial walk of the machine code).
Also memory load/store instructions can be generated for non-memory
LLVM instructions, which wasn't handled before.  It is now.
llvm-svn: 1199 
							
						 
						
							2001-11-08 05:20:23 +00:00  
				
					
						
							
							
								 
						
							
								80310bba37 
								
							 
						 
						
							
							
								
								MachineCodeForMethod is now an annotation on class Method.  
							
							... 
							
							
							
							llvm-svn: 1198 
							
						 
						
							2001-11-08 05:18:18 +00:00  
				
					
						
							
							
								 
						
							
								bdbb802c2f 
								
							 
						 
						
							
							
								
								Added two minor methods.  
							
							... 
							
							
							
							llvm-svn: 1187 
							
						 
						
							2001-11-08 04:49:52 +00:00  
				
					
						
							
							
								 
						
							
								d9f8598104 
								
							 
						 
						
							
							
								
								Removed class RegStackOffsets and used class MachineCodeForMethod  
							
							... 
							
							
							
							directly to manage stack frame.
llvm-svn: 1186 
							
						 
						
							2001-11-08 04:48:50 +00:00  
				
					
						
							
							
								 
						
							
								c53037205b 
								
							 
						 
						
							
							
								
								Major overhaul of stack frame management.  
							
							... 
							
							
							
							llvm-svn: 1185 
							
						 
						
							2001-11-08 04:47:06 +00:00  
				
					
						
							
							
								 
						
							
								074d52d60d 
								
							 
						 
						
							
							
								
								Fixed bug - added code in pushUnconstrainedIGNodes() to check whether a node  
							
							... 
							
							
							
							is already pushed to stack by a previous call to the same method.
llvm-svn: 1154 
							
						 
						
							2001-11-06 15:25:38 +00:00  
				
					
						
							
							
								 
						
							
								928833ecea 
								
							 
						 
						
							
							
								
								Bug fix: uninitialized variable.  
							
							... 
							
							
							
							llvm-svn: 1147 
							
						 
						
							2001-11-06 05:11:05 +00:00  
				
					
						
							
							
								 
						
							
								596721384b 
								
							 
						 
						
							
							
								
								Modified graph construction to use one pass to find all defs.  
							
							... 
							
							
							
							Avoids having to handle some special cases that cause complex interactions
with instr. selection.
llvm-svn: 1138 
							
						 
						
							2001-11-05 04:04:23 +00:00  
				
					
						
							
							
								 
						
							
								59a13288a6 
								
							 
						 
						
							
							
								
								Make reg. numbers signed ints.  
							
							... 
							
							
							
							llvm-svn: 1137 
							
						 
						
							2001-11-05 03:56:02 +00:00  
				
					
						
							
							
								 
						
							
								33d9cb9903 
								
							 
						 
						
							
							
								
								Minor method rename  
							
							... 
							
							
							
							llvm-svn: 1119 
							
						 
						
							2001-11-04 08:08:34 +00:00  
				
					
						
							
							
								 
						
							
								471babe2d2 
								
							 
						 
						
							
							
								
								Added an assertion since it seems like AdjList returns an errornous size in method  
							
							... 
							
							
							
							IGNode::pushOnStack().
llvm-svn: 1116 
							
						 
						
							2001-11-03 22:01:09 +00:00  
				
					
						
							
							
								 
						
							
								51fc1c2d72 
								
							 
						 
						
							
							
								
								Added support for correct spilling of %ccr  
							
							... 
							
							
							
							llvm-svn: 1112 
							
						 
						
							2001-11-03 20:41:22 +00:00  
				
					
						
							
							
								 
						
							
								ca632ed71a 
								
							 
						 
						
							
							
								
								Arranged stack frame - needs furhter organization  
							
							... 
							
							
							
							llvm-svn: 1108 
							
						 
						
							2001-11-03 17:14:44 +00:00  
				
					
						
							
							
								 
						
							
								b7a397253f 
								
							 
						 
						
							
							
								
								Arranged stack frame - needs furhter organization  
							
							... 
							
							
							
							Moved InsertCallerSaveInstr to the SparcRegInfo.cpp
llvm-svn: 1106 
							
						 
						
							2001-11-03 17:13:27 +00:00  
				
					
						
							
							
								 
						
							
								33ec4a3c23 
								
							 
						 
						
							
							
								
								Record constants that need to be emitted in the assembly code.  
							
							... 
							
							
							
							llvm-svn: 1010 
							
						 
						
							2001-10-28 21:46:23 +00:00  
				
					
						
							
							
								 
						
							
								979800ede8 
								
							 
						 
						
							
							
								
								Allow combinations of True/Anti/Output flags for each edge to  
							
							... 
							
							
							
							support, e.g., dependences on Call instructions.
llvm-svn: 1009 
							
						 
						
							2001-10-28 21:45:02 +00:00  
				
					
						
							
							
								 
						
							
								df6913549a 
								
							 
						 
						
							
							
								
								Add edges between call instructions and (a) load/store instructions, and  
							
							... 
							
							
							
							(b) any instructions that use or set CC registers.  Whether or not the
latter are needed really should be machine-dependent.
llvm-svn: 1008 
							
						 
						
							2001-10-28 21:43:33 +00:00  
				
					
						
							
							
								 
						
							
								9c38dbc249 
								
							 
						 
						
							
							
								
								Added support for spilling  
							
							... 
							
							
							
							llvm-svn: 992 
							
						 
						
							2001-10-28 18:15:12 +00:00  
				
					
						
							
							
								 
						
							
								321ed7be93 
								
							 
						 
						
							
							
								
								Added spill code support; moved insertCallerSaving to SparRegInfo since  
							
							... 
							
							
							
							we need to handle %ccr reg in a special way.
llvm-svn: 990 
							
						 
						
							2001-10-28 18:12:02 +00:00  
				
					
						
							
							
								 
						
							
								33b0d85f65 
								
							 
						 
						
							
							
								
								added support to move "added instructions" after the delay slot  
							
							... 
							
							
							
							llvm-svn: 968 
							
						 
						
							2001-10-23 21:38:42 +00:00  
				
					
						
							
							
								 
						
							
								c300c6ba58 
								
							 
						 
						
							
							
								
								Added support to move "added instructions" after the delay slot  
							
							... 
							
							
							
							llvm-svn: 967 
							
						 
						
							2001-10-23 21:38:00 +00:00  
				
					
						
							
							
								 
						
							
								901da32e64 
								
							 
						 
						
							
							
								
								Use class MachineCodeForMethod to print machine code.  
							
							... 
							
							
							
							llvm-svn: 948 
							
						 
						
							2001-10-22 13:52:03 +00:00  
				
					
						
							
							
								 
						
							
								cc80b02834 
								
							 
						 
						
							
							
								
								Added class MachineCodeForMethod.  
							
							... 
							
							
							
							llvm-svn: 947 
							
						 
						
							2001-10-22 13:51:33 +00:00  
				
					
						
							
							
								 
						
							
								3686293bd2 
								
							 
						 
						
							
							
								
								Cosmetic changes only.  
							
							... 
							
							
							
							llvm-svn: 946 
							
						 
						
							2001-10-22 13:51:09 +00:00  
				
					
						
							
							
								 
						
							
								9a6457388f 
								
							 
						 
						
							
							
								
								Modify code that processes delay slots so that it preserves any  
							
							... 
							
							
							
							useful instructions already inserted into delay slots.
llvm-svn: 945 
							
						 
						
							2001-10-22 13:49:27 +00:00  
				
					
						
							
							
								 
						
							
								24729a34ce 
								
							 
						 
						
							
							
								
								Added support for both call/jmpl instructions  
							
							... 
							
							
							
							llvm-svn: 930 
							
						 
						
							2001-10-21 16:43:41 +00:00  
				
					
						
							
							
								 
						
							
								53516cd05b 
								
							 
						 
						
							
							
								
								Added code to support unusable Suggested Colors.  
							
							... 
							
							
							
							llvm-svn: 922 
							
						 
						
							2001-10-19 21:42:06 +00:00  
				
					
						
							
							
								 
						
							
								01c55ba00c 
								
							 
						 
						
							
							
								
								Added code to PhyRegAlloc to mark unusable suggested regs  
							
							... 
							
							
							
							Added initialization to AdjList to IGNode constructor - major bug fix
llvm-svn: 920 
							
						 
						
							2001-10-19 21:39:31 +00:00  
				
					
						
							
							
								 
						
							
								6275a04aac 
								
							 
						 
						
							
							
								
								Changed Call interference info  
							
							... 
							
							
							
							llvm-svn: 917 
							
						 
						
							2001-10-19 17:21:59 +00:00  
				
					
						
							
							
								 
						
							
								09d7a2a496 
								
							 
						 
						
							
							
								
								Corrected call interference bug  
							
							... 
							
							
							
							llvm-svn: 916 
							
						 
						
							2001-10-19 17:21:03 +00:00  
				
					
						
							
							
								 
						
							
								6b1d2691c6 
								
							 
						 
						
							
							
								
								no major change  
							
							... 
							
							
							
							llvm-svn: 914 
							
						 
						
							2001-10-18 23:58:08 +00:00  
				
					
						
							
							
								 
						
							
								59e864eb92 
								
							 
						 
						
							
							
								
								Added implict operand printing for operator( ostream, MachineInstr&)  
							
							... 
							
							
							
							llvm-svn: 912 
							
						 
						
							2001-10-18 22:40:02 +00:00  
				
					
						
							
							
								 
						
							
								0a2990a7c6 
								
							 
						 
						
							
							
								
								removed some debug messages  
							
							... 
							
							
							
							llvm-svn: 910 
							
						 
						
							2001-10-18 22:36:26 +00:00  
				
					
						
							
							
								 
						
							
								6d19dc9080 
								
							 
						 
						
							
							
								
								1. Add a bottom-up pass on BURG trees that is used to fix constant operands.  
							
							... 
							
							
							
							Needs to be bottom up because constant values may be forward-substituted
   to their uses (i.e., into the parent in the BURG tree).
2. Move most of the constant-fixup code into machine-indepedent file
   InstrSelectionSupport.cpp.
llvm-svn: 859 
							
						 
						
							2001-10-17 23:57:50 +00:00  
				
					
						
							
							
								 
						
							
								ad97e4ed84 
								
							 
						 
						
							
							
								
								Separate VM instruction that generates the instructions that compute a value  
							
							... 
							
							
							
							from the value itself (the one causing an edge) because the latter may be
a temporary used within the instruction sequence for the VM instruction.
llvm-svn: 858 
							
						 
						
							2001-10-17 23:55:16 +00:00  
				
					
						
							
							
								 
						
							
								59cbb6498c 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 857 
							
						 
						
							2001-10-17 23:53:16 +00:00  
				
					
						
							
							
								 
						
							
								7d23a2bee9 
								
							 
						 
						
							
							
								
								changed debugg message printing - no change to useful code  
							
							... 
							
							
							
							llvm-svn: 850 
							
						 
						
							2001-10-16 16:34:44 +00:00  
				
					
						
							
							
								 
						
							
								3d878424d2 
								
							 
						 
						
							
							
								
								No major change - commented some debug code  
							
							... 
							
							
							
							llvm-svn: 849 
							
						 
						
							2001-10-16 01:33:55 +00:00  
				
					
						
							
							
								 
						
							
								5b8971f418 
								
							 
						 
						
							
							
								
								Added support for caller saving  
							
							... 
							
							
							
							llvm-svn: 847 
							
						 
						
							2001-10-16 01:23:19 +00:00  
				
					
						
							
							
								 
						
							
								24872c8838 
								
							 
						 
						
							
							
								
								Print Debug Code to stderr instead of stdout so that it doesn't mess up the assembly output  
							
							... 
							
							
							
							llvm-svn: 841 
							
						 
						
							2001-10-15 18:30:06 +00:00  
				
					
						
							
							
								 
						
							
								f3f1e452ea 
								
							 
						 
						
							
							
								
								Output to cerr rather than cout so that debug info doesn't mess up assembly generation  
							
							... 
							
							
							
							llvm-svn: 840 
							
						 
						
							2001-10-15 18:15:27 +00:00  
				
					
						
							
							
								 
						
							
								2a6cc8300d 
								
							 
						 
						
							
							
								
								updated suggesting/coloring of call & return args & implicit operands.  
							
							... 
							
							
							
							Changed added instr to a deque (from a vector)
llvm-svn: 831 
							
						 
						
							2001-10-15 16:26:38 +00:00  
				
					
						
							
							
								 
						
							
								33535773cb 
								
							 
						 
						
							
							
								
								fixed a coalscing bug  
							
							... 
							
							
							
							llvm-svn: 828 
							
						 
						
							2001-10-15 16:22:44 +00:00  
				
					
						
							
							
								 
						
							
								2b3369567e 
								
							 
						 
						
							
							
								
								* Fix privacy issues on RegToRefVecMap  
							
							... 
							
							
							
							* Fix initialization order problems...
llvm-svn: 762 
							
						 
						
							2001-10-13 06:51:01 +00:00  
				
					
						
							
							
								 
						
							
								7c10e086eb 
								
							 
						 
						
							
							
								
								--corrected coalescing test: coalsed only if two are of the same reg class  
							
							... 
							
							
							
							llvm-svn: 729 
							
						 
						
							2001-10-12 17:48:18 +00:00  
				
					
						
							
							
								 
						
							
								1235b330f7 
								
							 
						 
						
							
							
								
								Add graph edges due to implicit refs in each machine instruction.  
							
							... 
							
							
							
							llvm-svn: 724 
							
						 
						
							2001-10-11 04:22:45 +00:00  
				
					
						
							
							
								 
						
							
								d50b665acf 
								
							 
						 
						
							
							
								
								Don't insert useful instructions in delay slot of a RETURN.  
							
							... 
							
							
							
							llvm-svn: 721 
							
						 
						
							2001-10-10 20:58:11 +00:00  
				
					
						
							
							
								 
						
							
								192686db96 
								
							 
						 
						
							
							
								
								Machine-independent code generation routines used in instruction  
							
							... 
							
							
							
							selection.  These used to live in several different places before.
llvm-svn: 719 
							
						 
						
							2001-10-10 20:50:43 +00:00  
				
					
						
							
							
								 
						
							
								c36a504cfe 
								
							 
						 
						
							
							
								
								Moved code generation support routines to InstrSelectionSupport.cpp.  
							
							... 
							
							
							
							llvm-svn: 717 
							
						 
						
							2001-10-10 20:49:07 +00:00  
				
					
						
							
							
								 
						
							
								da55810666 
								
							 
						 
						
							
							
								
								Commit more code over to new cast style  
							
							... 
							
							
							
							llvm-svn: 697 
							
						 
						
							2001-10-02 03:41:24 +00:00  
				
					
						
							
							
								 
						
							
								3856934386 
								
							 
						 
						
							
							
								
								Convert more code to use new style casts  
							
							... 
							
							
							
							Eliminate old style casts from value.h
llvm-svn: 696 
							
						 
						
							2001-10-01 20:11:19 +00:00  
				
					
						
							
							
								 
						
							
								4b717c0edc 
								
							 
						 
						
							
							
								
								Add support for new style casts  
							
							... 
							
							
							
							llvm-svn: 694 
							
						 
						
							2001-10-01 16:18:37 +00:00  
				
					
						
							
							
								 
						
							
								acffb966b9 
								
							 
						 
						
							
							
								
								removing phy regaloc - incorrect file  
							
							... 
							
							
							
							llvm-svn: 682 
							
						 
						
							2001-09-30 23:52:14 +00:00  
				
					
						
							
							
								 
						
							
								813ffcc4f6 
								
							 
						 
						
							
							
								
								Change ! ( ...== ...)  to !=.  
							
							... 
							
							
							
							llvm-svn: 680 
							
						 
						
							2001-09-30 23:45:08 +00:00  
				
					
						
							
							
								 
						
							
								e44abbb99d 
								
							 
						 
						
							
							
								
								Improved dump for disp type operand.  
							
							... 
							
							
							
							llvm-svn: 679 
							
						 
						
							2001-09-30 23:44:19 +00:00  
				
					
						
							
							
								 
						
							
								819635eb7c 
								
							 
						 
						
							
							
								
								Bug fixes:  
							
							... 
							
							
							
							(1) Ensure that delay slot instructions are not moved out of place (this
    was happening for some CALL instructions).  Basically, we need to
    move all delay slot instructions out of the graph and handle them
    along with the delayed control transfer instruction.
(2) Mark scheduled instructions correctly when instructions are scheduled
    in more than one cycle in a single step (due to delay slots).
llvm-svn: 678 
							
						 
						
							2001-09-30 23:43:34 +00:00  
				
					
						
							
							
								 
						
							
								f734fc2af7 
								
							 
						 
						
							
							
								
								Minor changes for bug fixes in SchedGraph.cpp.  
							
							... 
							
							
							
							llvm-svn: 677 
							
						 
						
							2001-09-30 23:37:26 +00:00  
				
					
						
							
							
								 
						
							
								2b2ca42761 
								
							 
						 
						
							
							
								
								Two bug fixes:  
							
							... 
							
							
							
							(1) Add edges for Values that are written by multiple m/c instructions
(2) Add edges for LLVM operands that are not machine operands (e.g., Call args)
llvm-svn: 676 
							
						 
						
							2001-09-30 23:36:58 +00:00  
				
					
						
							
							
								 
						
							
								560b0ad482 
								
							 
						 
						
							
							
								
								added suggesting color support  
							
							... 
							
							
							
							llvm-svn: 673 
							
						 
						
							2001-09-30 23:19:57 +00:00  
				
					
						
							
							
								 
						
							
								e3b9faddad 
								
							 
						 
						
							
							
								
								--added suggesting colors; call/ret arg handling  
							
							... 
							
							
							
							llvm-svn: 670 
							
						 
						
							2001-09-30 23:11:59 +00:00  
				
					
						
							
							
								 
						
							
								bb09a10929 
								
							 
						 
						
							
							
								
								Pull iterators out of CFG.h and CFGdecls and put them in Support directory  
							
							... 
							
							
							
							llvm-svn: 664 
							
						 
						
							2001-09-28 22:56:31 +00:00  
				
					
						
							
							
								 
						
							
								72727bf358 
								
							 
						 
						
							
							
								
								-- removed debugging messages  
							
							... 
							
							
							
							llvm-svn: 651 
							
						 
						
							2001-09-19 22:39:58 +00:00  
				
					
						
							
							
								 
						
							
								213b3621ac 
								
							 
						 
						
							
							
								
								-fixed return value bug.  
							
							... 
							
							
							
							llvm-svn: 650 
							
						 
						
							2001-09-19 22:31:21 +00:00  
				
					
						
							
							
								 
						
							
								da876eff3c 
								
							 
						 
						
							
							
								
								Change debug info from #define to command line option  
							
							... 
							
							
							
							Clean up extra debug info that wasn't guarded
llvm-svn: 647 
							
						 
						
							2001-09-19 16:26:23 +00:00  
				
					
						
							
							
								 
						
							
								d89425bb58 
								
							 
						 
						
							
							
								
								Change debug info from #define to command line option  
							
							... 
							
							
							
							llvm-svn: 646 
							
						 
						
							2001-09-19 16:26:10 +00:00  
				
					
						
							
							
								 
						
							
								1bec3bd0a4 
								
							 
						 
						
							
							
								
								* REMOVE extraneous debug info if DEBUG_RA is not set  
							
							... 
							
							
							
							* Spell PhyRegAlloc right.
llvm-svn: 645 
							
						 
						
							2001-09-19 16:09:04 +00:00  
				
					
						
							
							
								 
						
							
								219f777bad 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 634 
							
						 
						
							2001-09-18 22:57:47 +00:00  
				
					
						
							
							
								 
						
							
								1f331f258b 
								
							 
						 
						
							
							
								
								-- updated printing  
							
							... 
							
							
							
							llvm-svn: 631 
							
						 
						
							2001-09-18 22:43:57 +00:00  
				
					
						
							
							
								 
						
							
								1d06a46723 
								
							 
						 
						
							
							
								
								Remove a copy of a bunch of code  
							
							... 
							
							
							
							llvm-svn: 630 
							
						 
						
							2001-09-18 18:15:40 +00:00  
				
					
						
							
							
								 
						
							
								3c6ce06243 
								
							 
						 
						
							
							
								
								Don't check for null on delete  
							
							... 
							
							
							
							llvm-svn: 624 
							
						 
						
							2001-09-18 17:02:42 +00:00  
				
					
						
							
							
								 
						
							
								82d1e14e7f 
								
							 
						 
						
							
							
								
								Cast unsigned to int!  It was causing a nice little bug.  
							
							... 
							
							
							
							llvm-svn: 614 
							
						 
						
							2001-09-18 12:57:39 +00:00  
				
					
						
							
							
								 
						
							
								bb81dae651 
								
							 
						 
						
							
							
								
								Minor changes.  
							
							... 
							
							
							
							llvm-svn: 613 
							
						 
						
							2001-09-18 12:56:28 +00:00  
				
					
						
							
							
								 
						
							
								0c51cf0f51 
								
							 
						 
						
							
							
								
								Don't add instructions to subtree for Phi or Call.  
							
							... 
							
							
							
							Free tree nodes when done.
Avoid obscuring code with for_each and bind_obj :-)
llvm-svn: 612 
							
						 
						
							2001-09-18 12:54:27 +00:00  
				
					
						
							
							
								 
						
							
								8656a80661 
								
							 
						 
						
							
							
								
								Format file header.  
							
							... 
							
							
							
							llvm-svn: 611 
							
						 
						
							2001-09-18 12:52:03 +00:00  
				
					
						
							
							
								 
						
							
								703297cf24 
								
							 
						 
						
							
							
								
								Add new entry/exit edges when removing delay slot nodes from the graph.  
							
							... 
							
							
							
							Renamed some header files.
llvm-svn: 610 
							
						 
						
							2001-09-18 12:51:38 +00:00  
				
					
						
							
							
								 
						
							
								3e8029dc07 
								
							 
						 
						
							
							
								
								Moved erase edge functions to class SchedGraph.  
							
							... 
							
							
							
							Add new dummy edges when deleting existing edges.
llvm-svn: 609 
							
						 
						
							2001-09-18 12:50:40 +00:00  
				
					
						
							
							
								 
						
							
								270766a210 
								
							 
						 
						
							
							
								
								Renamed some header files.  
							
							... 
							
							
							
							llvm-svn: 608 
							
						 
						
							2001-09-18 12:49:39 +00:00  
				
					
						
							
							
								 
						
							
								fa64a35a01 
								
							 
						 
						
							
							
								
								Moved erase-edge functions from SchedGraphNode to SchedGraph.  
							
							... 
							
							
							
							Renamed some header files.
llvm-svn: 607 
							
						 
						
							2001-09-18 12:49:26 +00:00  
				
					
						
							
							
								 
						
							
								06225084b9 
								
							 
						 
						
							
							
								
								Minor fixes: renamed target machine files; fold sched info into TargetMachine.  
							
							... 
							
							
							
							llvm-svn: 603 
							
						 
						
							2001-09-18 12:41:43 +00:00  
				
					
						
							
							
								 
						
							
								8efbd10c86 
								
							 
						 
						
							
							
								
								modified machine code printing  
							
							... 
							
							
							
							llvm-svn: 595 
							
						 
						
							2001-09-15 21:11:11 +00:00  
				
					
						
							
							
								 
						
							
								86b2ad4b7c 
								
							 
						 
						
							
							
								
								--added methods for printing  
							
							... 
							
							
							
							llvm-svn: 592 
							
						 
						
							2001-09-15 19:08:41 +00:00  
				
					
						
							
							
								 
						
							
								bae3812a95 
								
							 
						 
						
							
							
								
								added setRegForValue to MachineOperand class  
							
							... 
							
							
							
							llvm-svn: 591 
							
						 
						
							2001-09-15 19:07:45 +00:00  
				
					
						
							
							
								 
						
							
								6fd9532e54 
								
							 
						 
						
							
							
								
								fixed printing messages  
							
							... 
							
							
							
							llvm-svn: 590 
							
						 
						
							2001-09-15 19:06:58 +00:00  
				
					
						
							
							
								 
						
							
								fe0292e68d 
								
							 
						 
						
							
							
								
								-- debug messages dissabled  
							
							... 
							
							
							
							llvm-svn: 589 
							
						 
						
							2001-09-15 16:54:40 +00:00  
				
					
						
							
							
								 
						
							
								f60342a231 
								
							 
						 
						
							
							
								
								--reg alloc code added  
							
							... 
							
							
							
							llvm-svn: 587 
							
						 
						
							2001-09-15 00:33:26 +00:00  
				
					
						
							
							
								 
						
							
								671428c8a7 
								
							 
						 
						
							
							
								
								-reg alloc code  
							
							... 
							
							
							
							llvm-svn: 586 
							
						 
						
							2001-09-15 00:31:44 +00:00  
				
					
						
							
							
								 
						
							
								11002a7b93 
								
							 
						 
						
							
							
								
								added RegAlloc Directory to DIRS  
							
							... 
							
							
							
							llvm-svn: 581 
							
						 
						
							2001-09-14 21:28:17 +00:00  
				
					
						
							
							
								 
						
							
								808568eafc 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 580 
							
						 
						
							2001-09-14 21:18:34 +00:00  
				
					
						
							
							
								 
						
							
								7f155e10f6 
								
							 
						 
						
							
							
								
								Add a forward decl, oops.  
							
							... 
							
							
							
							llvm-svn: 573 
							
						 
						
							2001-09-14 17:55:51 +00:00  
				
					
						
							
							
								 
						
							
								8d44b99844 
								
							 
						 
						
							
							
								
								Chris seems fond of #include <vector>.  Fix these. Also convert use list in  
							
							... 
							
							
							
							Value to a vector instead of a list.
Move SchedGraph.h & SchedPriorities.h into lib/CodeGen/InstrScheduling
llvm-svn: 572 
							
						 
						
							2001-09-14 16:56:32 +00:00  
				
					
						
							
							
								 
						
							
								87b3bf630b 
								
							 
						 
						
							
							
								
								Split Target/Machine.h into three files:  
							
							... 
							
							
							
							* Machine.h
* InstInfo.h
* SchedInfo.h
TODO: Split out reg info stuff
llvm-svn: 567 
							
						 
						
							2001-09-14 06:08:03 +00:00  
				
					
						
							
							
								 
						
							
								22a6a90511 
								
							 
						 
						
							
							
								
								Make a new llvm/Target #include directory.  
							
							... 
							
							
							
							Move files from lib/CodeGen/TargetMachine to lib/Target
Move TargetData.h and TargetMachine.h to Target/{Data.h|Machine.h}
Prepare to split TargetMachine.h into several smaller files
llvm-svn: 566 
							
						 
						
							2001-09-14 05:34:53 +00:00  
				
					
						
							
							
								 
						
							
								f8464e4b8d 
								
							 
						 
						
							
							
								
								Checkin changes to:  
							
							... 
							
							
							
							1. Clean up the TargetMachine structure.  No more wierd pointers that have to
   be cast around and taken care of by the target.
2. Instruction Scheduling now takes the schedinfo as an argument.  The same
   should be done with the instinfo, it just isn't now.
llvm-svn: 565 
							
						 
						
							2001-09-14 04:32:55 +00:00  
				
					
						
							
							
								 
						
							
								06028541ab 
								
							 
						 
						
							
							
								
								Move the sparc target to a new lib/Target directory  
							
							... 
							
							
							
							llvm-svn: 562 
							
						 
						
							2001-09-14 03:55:11 +00:00  
				
					
						
							
							
								 
						
							
								fc1e0f33fa 
								
							 
						 
						
							
							
								
								Move the contents of the CodeGen/TargetMachine/Sparc directory to Target/Sparc  
							
							... 
							
							
							
							llvm-svn: 560 
							
						 
						
							2001-09-14 03:46:34 +00:00  
				
					
						
							
							
								 
						
							
								0a823a062c 
								
							 
						 
						
							
							
								
								This checkin represents some cleanup of the backend, implementing the following things:  
							
							... 
							
							
							
							1. The TargetMachine structure is free to decide the process a particular target uses to generate code.
2. All of the gooee details of the sparc backend are now localized in the lib/CodeGen/TargetMAchine/Sparc directory.  The Sparc.h file that is globally visible is just a stub.
3. The Sparc.h file that esxists now will dissapear entirely someday when we have multiple backends chosen by a factory of some sort.
llvm-svn: 559 
							
						 
						
							2001-09-14 03:37:52 +00:00  
				
					
						
							
							
								 
						
							
								2124f99556 
								
							 
						 
						
							
							
								
								Updates to use local header files.  
							
							... 
							
							
							
							Note that this reverted changes that Ruchira commited that broke the build and
are unmaintainable without other checkins.
llvm-svn: 557 
							
						 
						
							2001-09-14 03:33:32 +00:00  
				
					
						
							
							
								 
						
							
								f8459bb199 
								
							 
						 
						
							
							
								
								More cleanups, preparing to revamp InstrForest to, among other things,  
							
							... 
							
							
							
							not leak all its allocated memory.
llvm-svn: 553 
							
						 
						
							2001-09-12 16:34:03 +00:00  
				
					
						
							
							
								 
						
							
								16dd09a7bb 
								
							 
						 
						
							
							
								
								* Clean up InstrForest  
							
							... 
							
							
							
							* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)
begin
        seteq int *%x, %y
        ret void
end
llvm-svn: 552 
							
						 
						
							2001-09-12 01:28:49 +00:00  
				
					
						
							
							
								 
						
							
								cc38da77e8 
								
							 
						 
						
							
							
								
								Eliminate 'BasicNode' from InstrForest.  
							
							... 
							
							
							
							llvm-svn: 551 
							
						 
						
							2001-09-11 23:52:11 +00:00  
				
					
						
							
							
								 
						
							
								706ee8e5ec 
								
							 
						 
						
							
							
								
								Eliminate MainTreeNode function  
							
							... 
							
							
							
							llvm-svn: 550 
							
						 
						
							2001-09-11 23:22:43 +00:00  
				
					
						
							
							
								 
						
							
								a7d3b8dca1 
								
							 
						 
						
							
							
								
								Remove irrelevant gross K&R Cisms  
							
							... 
							
							
							
							llvm-svn: 549 
							
						 
						
							2001-09-11 23:13:38 +00:00  
				
					
						
							
							
								 
						
							
								e014d797b4 
								
							 
						 
						
							
							
								
								Use type checking predicates  
							
							... 
							
							
							
							llvm-svn: 543 
							
						 
						
							2001-09-10 20:10:26 +00:00  
				
					
						
							
							
								 
						
							
								5a01692836 
								
							 
						 
						
							
							
								
								Use correct casts  
							
							... 
							
							
							
							llvm-svn: 542 
							
						 
						
							2001-09-10 20:10:02 +00:00  
				
					
						
							
							
								 
						
							
								aeaba8a2ee 
								
							 
						 
						
							
							
								
								Use predicate for Value type test  
							
							... 
							
							
							
							Use builtin casts
llvm-svn: 541 
							
						 
						
							2001-09-10 20:09:50 +00:00  
				
					
						
							
							
								 
						
							
								44a45af61b 
								
							 
						 
						
							
							
								
								Use predicate for Value type test  
							
							... 
							
							
							
							llvm-svn: 540 
							
						 
						
							2001-09-10 20:09:28 +00:00  
				
					
						
							
							
								 
						
							
								acfa507663 
								
							 
						 
						
							
							
								
								Fix a bug I introduced (assertion failed: Unknown operand type), and convert to predicate style for type checks  
							
							... 
							
							
							
							llvm-svn: 531 
							
						 
						
							2001-09-10 19:43:38 +00:00  
				
					
						
							
							
								 
						
							
								a461b05207 
								
							 
						 
						
							
							
								
								Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.  Remove the two support functions to inline their contents.  
							
							... 
							
							
							
							llvm-svn: 525 
							
						 
						
							2001-09-09 23:01:47 +00:00  
				
					
						
							
							
								 
						
							
								e4fe7bc4a5 
								
							 
						 
						
							
							
								
								Implement the subset of the GetConstantValueAsSignedInt function that is needed, locally.  
							
							... 
							
							
							
							llvm-svn: 524 
							
						 
						
							2001-09-09 23:01:32 +00:00  
				
					
						
							
							
								 
						
							
								c49f5f35db 
								
							 
						 
						
							
							
								
								Fix problems with freeing memory twice  
							
							... 
							
							
							
							llvm-svn: 520 
							
						 
						
							2001-09-09 22:26:29 +00:00  
				
					
						
							
							
								 
						
							
								b606fcb3e0 
								
							 
						 
						
							
							
								
								Handle cast float-to-float or cast double-to-double.  
							
							... 
							
							
							
							llvm-svn: 512 
							
						 
						
							2001-09-09 20:35:34 +00:00  
				
					
						
							
							
								 
						
							
								57de997eff 
								
							 
						 
						
							
							
								
								Fix build breakage. :(  
							
							... 
							
							
							
							llvm-svn: 511 
							
						 
						
							2001-09-09 19:52:23 +00:00  
				
					
						
							
							
								 
						
							
								facf074632 
								
							 
						 
						
							
							
								
								I really don't like it when people break the build.  
							
							... 
							
							
							
							llvm-svn: 510 
							
						 
						
							2001-09-09 19:41:52 +00:00  
				
					
						
							
							
								 
						
							
								f5788aa837 
								
							 
						 
						
							
							
								
								Committed for compliation. Not yet final.  
							
							... 
							
							
							
							--Ruchira
llvm-svn: 505 
							
						 
						
							2001-09-08 14:22:50 +00:00  
				
					
						
							
							
								 
						
							
								e5d0fb8eee 
								
							 
						 
						
							
							
								
								--Ruchira  
							
							... 
							
							
							
							llvm-svn: 504 
							
						 
						
							2001-09-08 14:10:34 +00:00  
				
					
						
							
							
								 
						
							
								064286b9cf 
								
							 
						 
						
							
							
								
								Updates to work with new lack of constant pool  
							
							... 
							
							
							
							llvm-svn: 490 
							
						 
						
							2001-09-07 21:22:57 +00:00  
				
					
						
							
							
								 
						
							
								e99c9acb84 
								
							 
						 
						
							
							
								
								Remove unneeded #includes  
							
							... 
							
							
							
							llvm-svn: 489 
							
						 
						
							2001-09-07 21:22:28 +00:00  
				
					
						
							
							
								 
						
							
								b7d0c37f5c 
								
							 
						 
						
							
							
								
								Remove unnecesary #include add dump calls pulled out of .h file  
							
							... 
							
							
							
							llvm-svn: 488 
							
						 
						
							2001-09-07 21:21:03 +00:00  
				
					
						
							
							
								 
						
							
								bbf765695f 
								
							 
						 
						
							
							
								
								* Remove lots of #includes  
							
							... 
							
							
							
							llvm-svn: 487 
							
						 
						
							2001-09-07 21:19:42 +00:00  
				
					
						
							
							
								 
						
							
								feb62c321e 
								
							 
						 
						
							
							
								
								Add tags so emacs knows these are C++ files  
							
							... 
							
							
							
							llvm-svn: 483 
							
						 
						
							2001-09-07 21:04:20 +00:00  
				
					
						
							
							
								 
						
							
								23fcc08d38 
								
							 
						 
						
							
							
								
								The header file for a translation unit should always be included first  
							
							... 
							
							
							
							System headers should be last
llvm-svn: 475 
							
						 
						
							2001-09-07 17:18:30 +00:00  
				
					
						
							
							
								 
						
							
								74d07801bf 
								
							 
						 
						
							
							
								
								A file should always include it's private header file *FIRST* see the  
							
							... 
							
							
							
							coding guidelines
llvm-svn: 474 
							
						 
						
							2001-09-07 17:15:18 +00:00  
				
					
						
							
							
								 
						
							
								4eb6d9fd85 
								
							 
						 
						
							
							
								
								annotations are now const  
							
							... 
							
							
							
							llvm-svn: 450 
							
						 
						
							2001-09-07 16:40:04 +00:00  
				
					
						
							
							
								 
						
							
								4d30f4bb6c 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 412 
							
						 
						
							2001-08-31 20:59:58 +00:00  
				
					
						
							
							
								 
						
							
								10db4c2551 
								
							 
						 
						
							
							
								
								Added nonterminals for arithmetic operations where one operand is constant.  
							
							... 
							
							
							
							llvm-svn: 406 
							
						 
						
							2001-08-28 23:25:46 +00:00  
				
					
						
							
							
								 
						
							
								59a091870a 
								
							 
						 
						
							
							
								
								Makefile for InstrSched/  
							
							... 
							
							
							
							llvm-svn: 403 
							
						 
						
							2001-08-28 23:17:22 +00:00  
				
					
						
							
							
								 
						
							
								27713047f4 
								
							 
						 
						
							
							
								
								Remove source list.  
							
							... 
							
							
							
							llvm-svn: 402 
							
						 
						
							2001-08-28 23:16:59 +00:00  
				
					
						
							
							
								 
						
							
								ebfa4bd437 
								
							 
						 
						
							
							
								
								Added directory InstrSched.  
							
							... 
							
							
							
							llvm-svn: 401 
							
						 
						
							2001-08-28 23:16:13 +00:00  
				
					
						
							
							
								 
						
							
								245b5b0691 
								
							 
						 
						
							
							
								
								Major changes too hard to document :-)  
							
							... 
							
							
							
							llvm-svn: 400 
							
						 
						
							2001-08-28 23:12:57 +00:00  
				
					
						
							
							
								 
						
							
								23e59b70cd 
								
							 
						 
						
							
							
								
								Extensive additions for supporting instruction scheduling.  
							
							... 
							
							
							
							llvm-svn: 398 
							
						 
						
							2001-08-28 23:10:41 +00:00  
				
					
						
							
							
								 
						
							
								742086f200 
								
							 
						 
						
							
							
								
								Added class MachineSchedInfo and several supporting classes  
							
							... 
							
							
							
							as a machine description for instruction scheduling.
llvm-svn: 397 
							
						 
						
							2001-08-28 23:09:36 +00:00  
				
					
						
							
							
								 
						
							
								3148b83485 
								
							 
						 
						
							
							
								
								Implementation of instruction scheduling for LLVM.  
							
							... 
							
							
							
							Currently schedules one basic block at a time.
llvm-svn: 396 
							
						 
						
							2001-08-28 23:07:19 +00:00  
				
					
						
							
							
								 
						
							
								138c3bb667 
								
							 
						 
						
							
							
								
								Class that encapsulates priority heuristics for instruction scheduling.  
							
							... 
							
							
							
							llvm-svn: 395 
							
						 
						
							2001-08-28 23:06:49 +00:00  
				
					
						
							
							
								 
						
							
								754c4dd6ae 
								
							 
						 
						
							
							
								
								Scheduling DAG for instruction scheduling.  Currently for a single basic block.  
							
							... 
							
							
							
							llvm-svn: 394 
							
						 
						
							2001-08-28 23:06:02 +00:00  
				
					
						
							
							
								 
						
							
								8641f9dca0 
								
							 
						 
						
							
							
								
								Moved debug options declaration to header file, and moved  
							
							... 
							
							
							
							a function to MachineInstr.cpp.
llvm-svn: 393 
							
						 
						
							2001-08-28 23:04:38 +00:00  
				
					
						
							
							
								 
						
							
								5f72f42aee 
								
							 
						 
						
							
							
								
								Moved function PrintMachineInstructions here.  
							
							... 
							
							
							
							llvm-svn: 392 
							
						 
						
							2001-08-28 23:02:39 +00:00  
				
					
						
							
							
								 
						
							
								b6aa2334f4 
								
							 
						 
						
							
							
								
								I suck  
							
							... 
							
							
							
							llvm-svn: 385 
							
						 
						
							2001-08-27 18:54:45 +00:00  
				
					
						
							
							
								 
						
							
								53bbf0783b 
								
							 
						 
						
							
							
								
								Initial checkin of TargetData code  
							
							... 
							
							
							
							llvm-svn: 384 
							
						 
						
							2001-08-27 16:00:15 +00:00  
				
					
						
							
							
								 
						
							
								6c5cbe3f60 
								
							 
						 
						
							
							
								
								Convert to use the new factored out TargetData class  
							
							... 
							
							
							
							llvm-svn: 381 
							
						 
						
							2001-08-27 15:51:16 +00:00  
				
					
						
							
							
								 
						
							
								8dd99f33ea 
								
							 
						 
						
							
							
								
								Factor code out to the TargetData class  
							
							... 
							
							
							
							llvm-svn: 380 
							
						 
						
							2001-08-27 15:50:41 +00:00  
				
					
						
							
							
								 
						
							
								827c2a1d7c 
								
							 
						 
						
							
							
								
								Demolish explicit source list  
							
							... 
							
							
							
							llvm-svn: 375 
							
						 
						
							2001-08-27 05:18:35 +00:00  
				
					
						
							
							
								 
						
							
								f04f646c1b 
								
							 
						 
						
							
							
								
								Remove explicit source list  
							
							... 
							
							
							
							llvm-svn: 371 
							
						 
						
							2001-08-25 20:40:32 +00:00  
				
					
						
							
							
								 
						
							
								1700068262 
								
							 
						 
						
							
							
								
								Always set isDef for operand in position resultPos.  
							
							... 
							
							
							
							llvm-svn: 357 
							
						 
						
							2001-08-13 16:32:45 +00:00  
				
					
						
							
							
								 
						
							
								6dec5fe042 
								
							 
						 
						
							
							
								
								Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the  
							
							... 
							
							
							
							result position is a def (i.e., added true to the end of call) -- Ruchira
llvm-svn: 356 
							
						 
						
							2001-08-13 16:26:28 +00:00  
				
					
						
							
							
								 
						
							
								20429a47e5 
								
							 
						 
						
							
							
								
								Changed case 64 to make the first arg of phi a defintion  
							
							... 
							
							
							
							llvm-svn: 355 
							
						 
						
							2001-08-13 16:24:01 +00:00  
				
					
						
							
							
								 
						
							
								c82322c526 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 351 
							
						 
						
							2001-08-07 21:01:23 +00:00  
				
					
						
							
							
								 
						
							
								4ac2975f5a 
								
							 
						 
						
							
							
								
								added a default isDef arg to SetMachineOperand method - Ruchira  
							
							... 
							
							
							
							llvm-svn: 350 
							
						 
						
							2001-08-07 20:16:52 +00:00  
				
					
						
							
							
								 
						
							
								22db4f9b7c 
								
							 
						 
						
							
							
								
								Add CC operand as 4th operand of SUBcc, and mark it as a def.  
							
							... 
							
							
							
							llvm-svn: 348 
							
						 
						
							2001-08-06 21:06:10 +00:00  
				
					
						
							
							
								 
						
							
								45317ad6cc 
								
							 
						 
						
							
							
								
								Also, move burg rule to Makefile.common.  
							
							... 
							
							
							
							llvm-svn: 346 
							
						 
						
							2001-08-06 19:06:56 +00:00  
				
					
						
							
							
								 
						
							
								ed242ccea0 
								
							 
						 
						
							
							
								
								Better still, lets move pathname for Burg to Makefile.common.  
							
							... 
							
							
							
							llvm-svn: 344 
							
						 
						
							2001-08-06 19:01:45 +00:00  
				
					
						
							
							
								 
						
							
								058ff319fd 
								
							 
						 
						
							
							
								
								Use full pathname for burg.  
							
							... 
							
							
							
							llvm-svn: 342 
							
						 
						
							2001-08-06 18:53:26 +00:00  
				
					
						
							
							
								 
						
							
								527c8955de 
								
							 
						 
						
							
							
								
								Simplify command line options, and add option for printing  
							
							... 
							
							
							
							machine instructions without debugging info.
llvm-svn: 340 
							
						 
						
							2001-07-31 21:53:25 +00:00  
				
					
						
							
							
								 
						
							
								c746fbb806 
								
							 
						 
						
							
							
								
								Added tree nodes for Phi instructions.  
							
							... 
							
							
							
							llvm-svn: 338 
							
						 
						
							2001-07-31 21:50:29 +00:00  
				
					
						
							
							
								 
						
							
								1c73bc1c1f 
								
							 
						 
						
							
							
								
								Generate tree nodes for Phi instructions.  
							
							... 
							
							
							
							llvm-svn: 337 
							
						 
						
							2001-07-31 21:49:53 +00:00  
				
					
						
							
							
								 
						
							
								ff7070bbb9 
								
							 
						 
						
							
							
								
								Allow machine instructions with variable numbers of arguments.  
							
							... 
							
							
							
							This is used only by Phi for now.
llvm-svn: 336 
							
						 
						
							2001-07-31 21:49:28 +00:00  
				
					
						
							
							
								 
						
							
								e335821b08 
								
							 
						 
						
							
							
								
								Generate dummy Phi machine instruction, plus a bug fix for BrCond(boolreg).  
							
							... 
							
							
							
							llvm-svn: 334 
							
						 
						
							2001-07-31 21:46:57 +00:00  
				
					
						
							
							
								 
						
							
								da0c7d89bc 
								
							 
						 
						
							
							
								
								Record machine instructions in the vector for each basic block.  
							
							... 
							
							
							
							llvm-svn: 331 
							
						 
						
							2001-07-30 18:48:43 +00:00  
				
					
						
							
							
								 
						
							
								50204f5daa 
								
							 
						 
						
							
							
								
								Added UltraSparcInstrInfo class to specialize class MachineInstrInfo.  
							
							... 
							
							
							
							Relevant changes elsewhere:
Added MachineInstrInfo class and moved instruction-related members there.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo.  Latency fields are to support scheduling.
llvm-svn: 311 
							
						 
						
							2001-07-28 04:19:10 +00:00  
				
					
						
							
							
								 
						
							
								985b6e3d13 
								
							 
						 
						
							
							
								
								Eliminate unused function.  
							
							... 
							
							
							
							llvm-svn: 310 
							
						 
						
							2001-07-28 04:15:45 +00:00  
				
					
						
							
							
								 
						
							
								150460321e 
								
							 
						 
						
							
							
								
								Bug fixes:  
							
							... 
							
							
							
							Store bool result in register after SetCC if the bool value
is used by anything other than a branch.
Forward-substitute operand of a VM instruction for which no
machine instruction is generated (e.g., Cast).
Other changes due to changes to classes TargetMachine and MachineInstr.
llvm-svn: 309 
							
						 
						
							2001-07-28 04:15:15 +00:00  
				
					
						
							
							
								 
						
							
								c429691751 
								
							 
						 
						
							
							
								
								Added MachineInstrInfo class and moved instruction-related members there.  
							
							... 
							
							
							
							Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo.  Latency fields are to support scheduling.
llvm-svn: 308 
							
						 
						
							2001-07-28 04:09:37 +00:00  
				
					
						
							
							
								 
						
							
								bff682dfac 
								
							 
						 
						
							
							
								
								Eliminate separate enum for operand register type.  
							
							... 
							
							
							
							Use union for alternative data for different operand types.
Add iterator over Value* operands in a MachineInstr.
llvm-svn: 307 
							
						 
						
							2001-07-28 04:06:37 +00:00  
				
					
						
							
							
								 
						
							
								ab0cc40796 
								
							 
						 
						
							
							
								
								CommandLine library cleanup.  No longer use getValue/setValue, instead, just treat the commandline  
							
							... 
							
							
							
							args as the objects they represent and the "right thing" will happen
llvm-svn: 283 
							
						 
						
							2001-07-23 19:27:24 +00:00  
				
					
						
							
							
								 
						
							
								78a307b170 
								
							 
						 
						
							
							
								
								Eliminated the Unique class in favor of NonCopyable and NonCopyableV  
							
							... 
							
							
							
							llvm-svn: 280 
							
						 
						
							2001-07-23 18:26:21 +00:00  
				
					
						
							
							
								 
						
							
								e2472bbf6c 
								
							 
						 
						
							
							
								
								Moved inline/llvm/Tools/* to include/llvm/Support/*  
							
							... 
							
							
							
							llvm-svn: 279 
							
						 
						
							2001-07-23 17:46:59 +00:00  
				
					
						
							
							
								 
						
							
								44187dbff1 
								
							 
						 
						
							
							
								
								Clean up hash table usage  
							
							... 
							
							
							
							Remove opaque pointer used for C compatibility which isn't an issue
llvm-svn: 275 
							
						 
						
							2001-07-23 03:50:57 +00:00  
				
					
						
							
							
								 
						
							
								d8f1cc98e8 
								
							 
						 
						
							
							
								
								Removal of the redundant CompileContext wrapper  
							
							... 
							
							
							
							llvm-svn: 274 
							
						 
						
							2001-07-23 03:09:03 +00:00  
				
					
						
							
							
								 
						
							
								0af2464a78 
								
							 
						 
						
							
							
								
								Large scale changes to implement new command line argument facility  
							
							... 
							
							
							
							llvm-svn: 272 
							
						 
						
							2001-07-23 02:35:57 +00:00  
				
					
						
							
							
								 
						
							
								9c0f8f24e0 
								
							 
						 
						
							
							
								
								Privatize LLCOptions.  It had no business being visible to the entire  
							
							... 
							
							
							
							program.
llvm-svn: 267 
							
						 
						
							2001-07-22 04:40:02 +00:00  
				
					
						
							
							
								 
						
							
								b299068101 
								
							 
						 
						
							
							
								
								Eliminate lots of unnecessary #includes and forward decls  
							
							... 
							
							
							
							there are probably more to kill
llvm-svn: 261 
							
						 
						
							2001-07-21 23:24:48 +00:00  
				
					
						
							
							
								 
						
							
								7769970e16 
								
							 
						 
						
							
							
								
								Eliminate many unneccesary #includes  
							
							... 
							
							
							
							llvm-svn: 260 
							
						 
						
							2001-07-21 22:59:56 +00:00  
				
					
						
							
							
								 
						
							
								7cad6f14b8 
								
							 
						 
						
							
							
								
								Make code fit in 80 columns more  
							
							... 
							
							
							
							llvm-svn: 259 
							
						 
						
							2001-07-21 22:57:05 +00:00  
				
					
						
							
							
								 
						
							
								eb68f3263c 
								
							 
						 
						
							
							
								
								Remove unneccesary #includes  
							
							... 
							
							
							
							llvm-svn: 258 
							
						 
						
							2001-07-21 22:53:35 +00:00  
				
					
						
							
							
								 
						
							
								293e80559c 
								
							 
						 
						
							
							
								
								Exterminate nasty Cisms  
							
							... 
							
							
							
							llvm-svn: 257 
							
						 
						
							2001-07-21 22:42:09 +00:00  
				
					
						
							
							
								 
						
							
								bdb56b1639 
								
							 
						 
						
							
							
								
								Refer to include/llvm/CodeGen not Codegen  
							
							... 
							
							
							
							llvm-svn: 256 
							
						 
						
							2001-07-21 22:32:34 +00:00  
				
					
						
							
							
								 
						
							
								dd511760d9 
								
							 
						 
						
							
							
								
								Renamed include/llvm/Codegen to include/llvm/CodeGen  
							
							... 
							
							
							
							llvm-svn: 253 
							
						 
						
							2001-07-21 20:58:30 +00:00  
				
					
						
							
							
								 
						
							
								656823944e 
								
							 
						 
						
							
							
								
								Description of the SPARC as a target architecture.  
							
							... 
							
							
							
							llvm-svn: 233 
							
						 
						
							2001-07-21 12:42:19 +00:00  
				
					
						
							
							
								 
						
							
								3414e78e29 
								
							 
						 
						
							
							
								
								Base clas for a description of a target architecture.  
							
							... 
							
							
							
							llvm-svn: 232 
							
						 
						
							2001-07-21 12:42:08 +00:00  
				
					
						
							
							
								 
						
							
								ab9e557102 
								
							 
						 
						
							
							
								
								Instruction selection via pattern matching on instruction trees using BURG.  
							
							... 
							
							
							
							llvm-svn: 231 
							
						 
						
							2001-07-21 12:41:50 +00:00  
				
					
						
							
							
								 
						
							
								9c049ca36c 
								
							 
						 
						
							
							
								
								*** empty log message ***  
							
							... 
							
							
							
							llvm-svn: 230 
							
						 
						
							2001-07-21 12:41:01 +00:00