Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						16865d0612 
					 
					
						
						
							
							Disable Mips' delay slot filler when optimization level is O0.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162589  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-08-24 20:40:15 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						6522a9e04b 
					 
					
						
						
							
							Add option disable-mips-delay-filler. Turn on mips' delay slot filler by  
						
						... 
						
						
						
						default.
Patch by Carl Norum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162339  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-08-22 02:51:28 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						864f66085c 
					 
					
						
						
							
							Fix coding style violations. Remove white spaces and tabs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158471  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-14 21:10:56 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						158413930f 
					 
					
						
						
							
							Bundle jump/branch instructions with the instructions in the delay slot in  
						
						... 
						
						
						
						delay slot filler pass of MIPS, per suggestion of Jakob Stoklund Olesen.
This change, along with the fix in r158154, enables machine verification
to be run after delay slot filling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158426  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-13 23:25:52 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						f152fe8d48 
					 
					
						
						
							
							Switch some getAliasSet clients to MCRegAliasIterator.  
						
						... 
						
						
						
						MCRegAliasIterator can optionally visit the register itself, allowing
for simpler code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157837  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-01 20:36:54 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						f9c3f3b8a8 
					 
					
						
						
							
							Add a command line option to skip the delay slot filler pass entirely for Mips.  
						
						... 
						
						
						
						The purpose of this option is to silence error messages issued by machine
verifier passes and enable them to run to the end. If this option is not
provided, -verify-machineinstrs complains when it discovers there is a
non-terminator instruction (an instruction that is in a delay slot) after the
first terminator in a basic block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156790  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-14 23:59:17 +00:00 
						 
				 
			
				
					
						
							
							
								Craig Topper 
							
						 
					 
					
						
						
							
						
						e4fd907e72 
					 
					
						
						
							
							Use uint16_t to store register overlaps to reduce static data.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152001  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-04 10:43:23 +00:00 
						 
				 
			
				
					
						
							
							
								Jia Liu 
							
						 
					 
					
						
						
							
						
						bb481f8820 
					 
					
						
						
							
							remove blanks, and some code format  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151625  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-28 07:46:26 +00:00 
						 
				 
			
				
					
						
							
							
								Jia Liu 
							
						 
					 
					
						
						
							
						
						c5707112e7 
					 
					
						
						
							
							remove Emacs-tag form .cpp files in Mips Backend, and fix some typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150805  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-17 08:55:11 +00:00 
						 
				 
			
				
					
						
							
							
								Jia Liu 
							
						 
					 
					
						
						
							
						
						8f5e8c1cd6 
					 
					
						
						
							
							add Emacs tag and fix some comment error in file headers  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150775  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-17 01:23:50 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						8209968306 
					 
					
						
						
							
							Tidy up. Simplify logic. No functional change intended.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146896  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-19 19:52:25 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5a96b3dad2 
					 
					
						
						
							
							Add bundle aware API for querying instruction properties and switch the code  
						
						... 
						
						
						
						generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.
For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146026  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-07 07:15:52 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						42be280a28 
					 
					
						
						
							
							Fix assertion string.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141197  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 18:17:49 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						41a796e9cc 
					 
					
						
						
							
							Make sure candidate for delay slot filler is not a return instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141196  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 18:16:09 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						2f52338f50 
					 
					
						
						
							
							Add RA to the set of registers that are defined if instruction is a call.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141194  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 18:11:44 +00:00 
						 
				 
			
				
					
						
							
							
								NAKAMURA Takumi 
							
						 
					 
					
						
						
							
						
						4cbc5a1118 
					 
					
						
						
							
							MipsDelaySlotFiller.cpp: Appease msvc to specify llvm::next() explicitly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141174  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 10:11:02 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						176965f46b 
					 
					
						
						
							
							Insert space.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141158  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 02:22:49 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						6e4e64859f 
					 
					
						
						
							
							Do not examine variadic or implicit operands if instruction is a return (jr).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141157  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 02:21:58 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						0c419a7c4b 
					 
					
						
						
							
							Clean up function Filler::delayHasHazard.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141156  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 02:18:58 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						0f0c59a0f8 
					 
					
						
						
							
							Remove function Filler::insertCallUses.  
						
						... 
						
						
						
						Record the registers used and defined by a call in Filler::insertDefsUses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141154  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 02:04:17 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						7d8e04d5f1 
					 
					
						
						
							
							Clean up Filler::findDelayInstr.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141152  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 01:57:46 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						53120e0a9f 
					 
					
						
						
							
							Remove function Filler::isDelayFiller. Check if I is the same instruction that  
						
						... 
						
						
						
						filled the last delay slot visited.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141151  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 01:30:09 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						6f818abbe3 
					 
					
						
						
							
							Clean up Filler::runOnMachineBasicBlock. Change interface of  
						
						... 
						
						
						
						Filler::findDelayInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141150  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 01:23:39 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						98f4d4d2db 
					 
					
						
						
							
							Define a statistic for the number of slots that were filled with useful  
						
						... 
						
						
						
						instructions (instructions that are not NOP).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141149  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 01:19:13 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						f2f70c2493 
					 
					
						
						
							
							Remove unnecessary check. isDelayFiller(MBB, I) will evaluate to true before  
						
						... 
						
						
						
						I->getDesc().hasDelaySlot() does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141148  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 01:15:31 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						cfc3fb5737 
					 
					
						
						
							
							Add comments and move assignment statement. If sawStore is true, sawLoad does  
						
						... 
						
						
						
						not have to be set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141147  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 01:09:37 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						6585b51821 
					 
					
						
						
							
							Correct description string of enable-mips-delay-filler.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-05 01:06:57 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						a3defb07a0 
					 
					
						
						
							
							Fill delay slot with useful instructions. Modified from Sparc's version of delay  
						
						... 
						
						
						
						slot filler.
Patch by Reed Kotler at Mips Technologies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140825  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-09-29 23:52:13 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						8ddf6531b8 
					 
					
						
						
							
							Drop support for Mips1 and Mips2.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139405  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-09-09 20:45:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e837dead3c 
					 
					
						
						
							
							- Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and  
						
						... 
						
						
						
						sink them into MC layer.
- Added MCInstrInfo, which captures the tablegen generated static data. Chang
TargetInstrInfo so it's based off MCInstrInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134021  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-28 19:10:37 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						4552c9a3b3 
					 
					
						
						
							
							Reverse unnecessary changes made in r129606 and r129608. There is no change in functionality.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129612  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-15 21:51:11 +00:00 
						 
				 
			
				
					
						
							
							
								Akira Hatanaka 
							
						 
					 
					
						
						
							
						
						0bf3dfbef6 
					 
					
						
						
							
							Fix lines that have incorrect indentation or exceed 80 columns. There is no change in functionality.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-15 21:00:26 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						90c595425b 
					 
					
						
						
							
							Fix delay slot filler for non mips1 targets. Patch by Akira Hatanaka  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121376  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-09 17:31:11 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						2c2304c623 
					 
					
						
						
							
							Initial support for Mips32 and Mips32r2. Patch contributed by Akira Hatanaka (ahatanaka@mips.com)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-08 21:42:32 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						90c579de5a 
					 
					
						
						
							
							Reapply r110396, with fixes to appease the Linux buildbot gods.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 18:33:48 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1f74590e9d 
					 
					
						
						
							
							Revert r110396 to fix buildbots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 00:23:35 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9ccaf53ada 
					 
					
						
						
							
							Don't use PassInfo* as a type identifier for passes.  Instead, use the address of the static  
						
						... 
						
						
						
						ID member as the sole unique type identifier.  Clean up APIs related to this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-05 23:42:04 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						948175785d 
					 
					
						
						
							
							Remove non-DebugLoc versions of BuildMI from IA64, Mips.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64438  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-02-13 02:34:39 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae73dc1448 
					 
					
						
						
							
							Tidy up several unbeseeming casts from pointer to intptr_t.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 17:05:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						749c6f6b5e 
					 
					
						
						
							
							rename TargetInstrDescriptor -> TargetInstrDesc.  
						
						... 
						
						
						
						Make MachineInstr::getDesc return a reference instead
of a pointer, since it can never be null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 07:27:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						69244300b8 
					 
					
						
						
							
							Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects  
						
						... 
						
						
						
						that it is cheap and efficient to get.
Move a variety of predicates from TargetInstrInfo into 
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around.  Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.
Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45674  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 01:56:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ee451de36 
					 
					
						
						
							
							Remove attribution from file headers, per discussion on llvmdev.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 20:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Bruno Cardoso Lopes 
							
						 
					 
					
						
						
							
						
						9684a697d5 
					 
					
						
						
							
							A Pass to insert Nops on intructions with DelaySlot  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41150  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-18 01:50:47 +00:00