mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	Pass the MachineFunction into EmitJumpTableInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30742 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -161,7 +161,7 @@ namespace llvm { | ||||
|     /// EmitJumpTableInfo - Print assembly representations of the jump tables  | ||||
|     /// used by the current function to the current output stream.   | ||||
|     /// | ||||
|     void EmitJumpTableInfo(MachineJumpTableInfo *MJTI); | ||||
|     void EmitJumpTableInfo(MachineJumpTableInfo *MJTI, MachineFunction &MF); | ||||
|      | ||||
|     /// EmitSpecialLLVMGlobal - Check to see if the specified global is a | ||||
|     /// special global used by LLVM.  If so, emit it and return true, otherwise | ||||
|   | ||||
| @@ -183,7 +183,8 @@ void AsmPrinter::EmitConstantPool(unsigned Alignment, const char *Section, | ||||
| /// EmitJumpTableInfo - Print assembly representations of the jump tables used | ||||
| /// by the current function to the current output stream.   | ||||
| /// | ||||
| void AsmPrinter::EmitJumpTableInfo(MachineJumpTableInfo *MJTI) { | ||||
| void AsmPrinter::EmitJumpTableInfo(MachineJumpTableInfo *MJTI, | ||||
|                                    MachineFunction &MF) { | ||||
|   const std::vector<MachineJumpTableEntry> &JT = MJTI->getJumpTables(); | ||||
|   if (JT.empty()) return; | ||||
|   const TargetData *TD = TM.getTargetData(); | ||||
|   | ||||
| @@ -117,7 +117,7 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) { | ||||
|   EmitConstantPool(MF.getConstantPool()); | ||||
|  | ||||
|   // Print out jump tables referenced by the function | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo()); | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo(), MF); | ||||
|  | ||||
|   // Print out labels for the function. | ||||
|   const Function *F = MF.getFunction(); | ||||
|   | ||||
| @@ -162,7 +162,7 @@ bool AlphaAsmPrinter::runOnMachineFunction(MachineFunction &MF) { | ||||
|   EmitConstantPool(MF.getConstantPool()); | ||||
|  | ||||
|   // Print out jump tables referenced by the function | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo()); | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo(), MF); | ||||
|  | ||||
|   // Print out labels for the function. | ||||
|   const Function *F = MF.getFunction(); | ||||
|   | ||||
| @@ -475,7 +475,7 @@ bool DarwinAsmPrinter::runOnMachineFunction(MachineFunction &MF) { | ||||
|   } | ||||
|  | ||||
|   // Print out jump tables referenced by the function. | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo()); | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo(), MF); | ||||
|    | ||||
|   // Emit post-function debug information. | ||||
|   DW.EndFunction(); | ||||
|   | ||||
| @@ -126,10 +126,11 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   // Print out jump tables referenced by the function | ||||
|   // Mac OS X requires at least one non-local (e.g. L1) labels before local | ||||
|   // lables that are used in jump table expressions (e.g. LBB1_1-LJT1_0). | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo()); | ||||
|   // Print out jump tables referenced by the function. | ||||
|    | ||||
|   // Mac OS X requires that the jump table follow the function, so that the jump | ||||
|   // table is part of the same atom that the function is in. | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo(), MF); | ||||
|    | ||||
|   if (TAI->hasDotTypeDotSizeDirective()) | ||||
|     O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n"; | ||||
|   | ||||
| @@ -85,6 +85,9 @@ bool X86IntelAsmPrinter::runOnMachineFunction(MachineFunction &MF) { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   // Print out jump tables referenced by the function. | ||||
|   EmitJumpTableInfo(MF.getJumpTableInfo(), MF); | ||||
|  | ||||
|   O << CurrentFnName << "\tendp\n"; | ||||
|  | ||||
|   // We didn't modify anything. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user