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  
				
					
						
							
							
								 
						
							
								b47ab7ae1c 
								
							 
						 
						
							
							
								
								* Doxygenify comments  
							
							... 
							
							
							
							* Fix spacing, grammar in comment
* Make code layout consistent
* Wrap code at 80 cols
* Delete spurious blank lines
No functional changes.
llvm-svn: 14721 
							
						 
						
							2004-07-09 14:45:17 +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  
				
					
						
							
							
								 
						
							
								23dbc8170c 
								
							 
						 
						
							
							
								
								Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.  
							
							... 
							
							
							
							llvm-svn: 14389 
							
						 
						
							2004-06-25 00:13:11 +00:00  
				
					
						
							
							
								 
						
							
								4300ca9d32 
								
							 
						 
						
							
							
								
								Make debugging dumps w/ multiple MachineBBs for a given LLVM BB readable.  
							
							... 
							
							
							
							llvm-svn: 14205 
							
						 
						
							2004-06-17 22:26:53 +00:00  
				
					
						
							
							
								 
						
							
								2150542af9 
								
							 
						 
						
							
							
								
								Adjust to new TargetMachine interface  
							
							... 
							
							
							
							llvm-svn: 13956 
							
						 
						
							2004-06-02 05:57:12 +00:00  
				
					
						
							
							
								 
						
							
								bcee21b491 
								
							 
						 
						
							
							
								
								Changed clone to be const.  
							
							... 
							
							
							
							Changed copy constructor to set parent, prev, and next pointers to null.
llvm-svn: 13706 
							
						 
						
							2004-05-24 03:14:18 +00:00  
				
					
						
							
							
								 
						
							
								9953d86e63 
								
							 
						 
						
							
							
								
								Fixed up my changes to add support for cloning Machine Instructions.  
							
							... 
							
							
							
							llvm-svn: 13665 
							
						 
						
							2004-05-23 20:58:02 +00:00  
				
					
						
							
							
								 
						
							
								e6a4a7dbcf 
								
							 
						 
						
							
							
								
								Adding support to clone MachineInstr  
							
							... 
							
							
							
							llvm-svn: 13661 
							
						 
						
							2004-05-23 19:35:12 +00:00  
				
					
						
							
							
								 
						
							
								015972103d 
								
							 
						 
						
							
							
								
								Make MachineOperand's value named 'contents'.  Make really, really sure  
							
							... 
							
							
							
							it is always completely initialized and copied.
Also, fix up many comments and asserts.
llvm-svn: 12100 
							
						 
						
							2004-03-03 19:07:27 +00:00  
				
					
						
							
							
								 
						
							
								44b1b22a2d 
								
							 
						 
						
							
							
								
								int64_t -> int  
							
							... 
							
							
							
							llvm-svn: 11977 
							
						 
						
							2004-02-29 05:07:02 +00:00  
				
					
						
							
							
								 
						
							
								519e1e8c92 
								
							 
						 
						
							
							
								
								Fix crash caused by passing register 0 to  
							
							... 
							
							
							
							MRegisterInfo::isPhysicalRegister().
llvm-svn: 11894 
							
						 
						
							2004-02-27 01:52:34 +00:00  
				
					
						
							
							
								 
						
							
								91a7dc0a6e 
								
							 
						 
						
							
							
								
								Fix bugs in finegrainification  
							
							... 
							
							
							
							llvm-svn: 11758 
							
						 
						
							2004-02-23 18:40:08 +00:00  
				
					
						
							
							
								 
						
							
								43df6c268b 
								
							 
						 
						
							
							
								
								Finegrainify namespacification  
							
							... 
							
							
							
							llvm-svn: 11757 
							
						 
						
							2004-02-23 18:38:20 +00:00  
				
					
						
							
							
								 
						
							
								63f41abfe6 
								
							 
						 
						
							
							
								
								Fix a __LONG__ term annoyance of mine: symbolic registers weren't being printed  
							
							... 
							
							
							
							by operator<< on MachineInstr's, and looking up what register "24" is all of the
time was greatly annoying.
llvm-svn: 11623 
							
						 
						
							2004-02-19 16:17:08 +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  
				
					
						
							
							
								 
						
							
								8cdd0215bf 
								
							 
						 
						
							
							
								
								Remove getAllocatedRegNum(). Use getReg() instead.  
							
							... 
							
							
							
							llvm-svn: 11393 
							
						 
						
							2004-02-13 21:01:20 +00:00  
				
					
						
							
							
								 
						
							
								e8f7c2f863 
								
							 
						 
						
							
							
								
								Add head-of-file comments and Doxygen comments.  Tighten up a lot of whitespace.  
							
							... 
							
							
							
							Rename SetMachineOperandConst's formal parameters to match other methods here.
Mark some methods as being used only by the SPARC back-end.
Fix a missing-paren bug in OutputValue().
llvm-svn: 11363 
							
						 
						
							2004-02-13 04:39:32 +00:00  
				
					
						
							
							
								 
						
							
								de8ac749fe 
								
							 
						 
						
							
							
								
								Add parent pointer to MachineInstr that points to owning  
							
							... 
							
							
							
							MachineBasicBlock. Also change opcode to a short and numImplicitRefs
to an unsigned char so that overall MachineInstr's size stays the
same.
llvm-svn: 11357 
							
						 
						
							2004-02-12 18:49:07 +00:00  
				
					
						
							
							
								 
						
							
								6a597d6057 
								
							 
						 
						
							
							
								
								Rename the opCode instance variable to Opcode  
							
							... 
							
							
							
							llvm-svn: 11348 
							
						 
						
							2004-02-12 16:09:53 +00:00  
				
					
						
							
							
								 
						
							
								6108d9d5ee 
								
							 
						 
						
							
							
								
								This field is never read  
							
							... 
							
							
							
							llvm-svn: 11346 
							
						 
						
							2004-02-12 16:04:49 +00:00  
				
					
						
							
							
								 
						
							
								327426411e 
								
							 
						 
						
							
							
								
								Modify the two address instruction pass to remove the duplicate  
							
							... 
							
							
							
							operand of the instruction and thus simplify the register allocation.
llvm-svn: 11124 
							
						 
						
							2004-02-04 22:17:40 +00:00  
				
					
						
							
							
								 
						
							
								3d100ef0ca 
								
							 
						 
						
							
							
								
								When an instruction like: A += B had both A and B virtual registers  
							
							... 
							
							
							
							spilled, A was loaded from its stack location twice. This fixes the bug.
llvm-svn: 11093 
							
						 
						
							2004-02-03 01:13:07 +00:00  
				
					
						
							
							
								 
						
							
								aaba4639f8 
								
							 
						 
						
							
							
								
								Change interface of MachineOperand as follows:  
							
							... 
							
							
							
							a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
    b) add isUse(), isDef()
    c) rename opHiBits32() to isHiBits32(),
              opLoBits32() to isLoBits32(),
              opHiBits64() to isHiBits64(),
              opLoBits64() to isLoBits64().
This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.
llvm-svn: 10461 
							
						 
						
							2003-12-14 13:24:17 +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  
				
					
						
							
							
								 
						
							
								02fe6b7683 
								
							 
						 
						
							
							
								
								Fixed spelling.  
							
							... 
							
							
							
							llvm-svn: 8588 
							
						 
						
							2003-09-17 21:34:23 +00:00  
				
					
						
							
							
								 
						
							
								da92f366c7 
								
							 
						 
						
							
							
								
								Fix assertion in MachineInstr::substituteValue().  
							
							... 
							
							
							
							llvm-svn: 7675 
							
						 
						
							2003-08-07 15:01:48 +00:00  
				
					
						
							
							
								 
						
							
								020b544cbc 
								
							 
						 
						
							
							
								
								Do not insert physical regsiters into the regsUsed set  
							
							... 
							
							
							
							llvm-svn: 7617 
							
						 
						
							2003-08-05 21:55:20 +00:00  
				
					
						
							
							
								 
						
							
								cd4f4320b0 
								
							 
						 
						
							
							
								
								All callers of these methods actually wanted them to preserve the flags,  
							
							... 
							
							
							
							so get rid of the def/use parameters that were getting passed in.
**** This now changes the semantics of these methods to preserve the flags,
     not clobber them!
llvm-svn: 7602 
							
						 
						
							2003-08-05 16:58:46 +00:00  
				
					
						
							
							
								 
						
							
								41a894de77 
								
							 
						 
						
							
							
								
								Simplify code, eliminating the need for the X86 isVoid target instr flag  
							
							... 
							
							
							
							llvm-svn: 7534 
							
						 
						
							2003-08-03 21:51:45 +00:00  
				
					
						
							
							
								 
						
							
								1789d23990 
								
							 
						 
						
							
							
								
								Remove using decl  
							
							... 
							
							
							
							llvm-svn: 7531 
							
						 
						
							2003-08-03 20:24:29 +00:00  
				
					
						
							
							
								 
						
							
								689adb19b0 
								
							 
						 
						
							
							
								
								Change interface to MachineInstr::substituteValue to specify more precisely  
							
							... 
							
							
							
							which args can be substituted: defsOnly, defsAndUses or usesOnly.
llvm-svn: 7154 
							
						 
						
							2003-07-10 19:45:07 +00:00  
				
					
						
							
							
								 
						
							
								c468882155 
								
							 
						 
						
							
							
								
								Allow explicit physical registers for implicit operands.  
							
							... 
							
							
							
							llvm-svn: 6468 
							
						 
						
							2003-05-31 07:39:06 +00:00  
				
					
						
							
							
								 
						
							
								7366fa1aa6 
								
							 
						 
						
							
							
								
								(1) Added special register class containing (for now) %fsr.  
							
							... 
							
							
							
							Fixed spilling of %fcc[0-3] which are part of %fsr.
(2) Moved some machine-independent reg-class code to class TargetRegInfo
    from SparcReg{Class,}Info.
(3) Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
    and related functions and flags.  Fixed several bugs where only
    "isDef" was being checked, not "isDefAndUse".
llvm-svn: 6341 
							
						 
						
							2003-05-27 00:05:23 +00:00  
				
					
						
							
							
								 
						
							
								5da071b265 
								
							 
						 
						
							
							
								
								Remove obsolete ctor  
							
							... 
							
							
							
							llvm-svn: 5301 
							
						 
						
							2003-01-15 19:47:02 +00:00  
				
					
						
							
							
								 
						
							
								b4d58d7f9e 
								
							 
						 
						
							
							
								
								Rename MachineInstrInfo -> TargetInstrInfo  
							
							... 
							
							
							
							llvm-svn: 5272 
							
						 
						
							2003-01-14 22:00:31 +00:00  
				
					
						
							
							
								 
						
							
								a2ad874c95 
								
							 
						 
						
							
							
								
								Add support for 3 new forms of MachineOperand  
							
							... 
							
							
							
							llvm-svn: 5217 
							
						 
						
							2003-01-13 00:23:24 +00:00  
				
					
						
							
							
								 
						
							
								fd1ecadb1d 
								
							 
						 
						
							
							
								
								* Add printing support for FrameIndex operands  
							
							... 
							
							
							
							llvm-svn: 5194 
							
						 
						
							2002-12-28 20:37:37 +00:00  
				
					
						
							
							
								 
						
							
								f895418b47 
								
							 
						 
						
							
							
								
								Implement printing of MBB arguments  
							
							... 
							
							
							
							llvm-svn: 5053 
							
						 
						
							2002-12-15 20:35:25 +00:00  
				
					
						
							
							
								 
						
							
								d8ea18b695 
								
							 
						 
						
							
							
								
								Print is const!  
							
							... 
							
							
							
							llvm-svn: 4737 
							
						 
						
							2002-11-17 23:22:13 +00:00  
				
					
						
							
							
								 
						
							
								17ec8a8dd0 
								
							 
						 
						
							
							
								
								Remove only uses of markDef/markDefAndUse methods  
							
							... 
							
							
							
							llvm-svn: 4719 
							
						 
						
							2002-11-17 22:14:08 +00:00  
				
					
						
							
							
								 
						
							
								6c614a9931 
								
							 
						 
						
							
							
								
								Remove fixme  
							
							... 
							
							
							
							llvm-svn: 4447 
							
						 
						
							2002-10-30 02:02:37 +00:00  
				
					
						
							
							
								 
						
							
								ac6e97410b 
								
							 
						 
						
							
							
								
								Add special code to make printing SSA form machine instructions nicer  
							
							... 
							
							
							
							llvm-svn: 4446 
							
						 
						
							2002-10-30 01:55:38 +00:00  
				
					
						
							
							
								 
						
							
								4e9fb1f52e 
								
							 
						 
						
							
							
								
								Use MRegisterInfo, if available, to print symbolic register names  
							
							... 
							
							
							
							llvm-svn: 4438 
							
						 
						
							2002-10-30 00:58:19 +00:00  
				
					
						
							
							
								 
						
							
								214808f8ac 
								
							 
						 
						
							
							
								
								Implement structured machine code printing  
							
							... 
							
							
							
							llvm-svn: 4435 
							
						 
						
							2002-10-30 00:48:05 +00:00  
				
					
						
							
							
								 
						
							
								27ccb70df6 
								
							 
						 
						
							
							
								
								Implement autoinserting ctor  
							
							... 
							
							
							
							llvm-svn: 4426 
							
						 
						
							2002-10-29 23:19:00 +00:00  
				
					
						
							
							
								 
						
							
								a1b4f0f85e 
								
							 
						 
						
							
							
								
								Remove separate vector of implicit refs from MachineInstr, and  
							
							... 
							
							
							
							instead record them as extra operands in the operands[] vector.
Also, move CallArgsDescriptor into this class instead of making it an
annotation on the machine instruction.
llvm-svn: 4399 
							
						 
						
							2002-10-29 19:41:18 +00:00  
				
					
						
							
							
								 
						
							
								07e26837a9 
								
							 
						 
						
							
							
								
								Move TargetInstrDescriptors extern to the one .cpp file that refers to it:  
							
							... 
							
							
							
							MachineInstr.cpp
llvm-svn: 4392 
							
						 
						
							2002-10-29 17:40:30 +00:00  
				
					
						
							
							
								 
						
							
								660bf10981 
								
							 
						 
						
							
							
								
								Use higher level methods, don't use TargetInstrDescriptors directly!  
							
							... 
							
							
							
							llvm-svn: 4389 
							
						 
						
							2002-10-29 17:35:39 +00:00