mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	better location welcome). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135438 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //===------ JITDwarfEmitter.h - Write dwarf tables into memory ------------===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| //
 | |
| // This file defines a JITDwarfEmitter object that is used by the JIT to
 | |
| // write dwarf tables to memory.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef LLVM_EXECUTION_ENGINE_JIT_DWARFEMITTER_H
 | |
| #define LLVM_EXECUTION_ENGINE_JIT_DWARFEMITTER_H
 | |
| 
 | |
| namespace llvm {
 | |
| 
 | |
| class Function;
 | |
| class JITCodeEmitter;
 | |
| class MachineFunction;
 | |
| class MachineModuleInfo;
 | |
| class MachineMove;
 | |
| class MCAsmInfo;
 | |
| class TargetData;
 | |
| class TargetMachine;
 | |
| class TargetRegisterInfo;
 | |
| 
 | |
| class JITDwarfEmitter {
 | |
|   const TargetData* TD;
 | |
|   JITCodeEmitter* JCE;
 | |
|   const TargetRegisterInfo* RI;
 | |
|   const MCAsmInfo *MAI;
 | |
|   MachineModuleInfo* MMI;
 | |
|   JIT& Jit;
 | |
|   bool stackGrowthDirection;
 | |
| 
 | |
|   unsigned char* EmitExceptionTable(MachineFunction* MF,
 | |
|                                     unsigned char* StartFunction,
 | |
|                                     unsigned char* EndFunction) const;
 | |
| 
 | |
|   void EmitFrameMoves(intptr_t BaseLabelPtr,
 | |
|                       const std::vector<MachineMove> &Moves) const;
 | |
| 
 | |
|   unsigned char* EmitCommonEHFrame(const Function* Personality) const;
 | |
| 
 | |
|   unsigned char* EmitEHFrame(const Function* Personality,
 | |
|                              unsigned char* StartBufferPtr,
 | |
|                              unsigned char* StartFunction,
 | |
|                              unsigned char* EndFunction,
 | |
|                              unsigned char* ExceptionTable) const;
 | |
| 
 | |
| public:
 | |
| 
 | |
|   JITDwarfEmitter(JIT& jit);
 | |
| 
 | |
|   unsigned char* EmitDwarfTable(MachineFunction& F,
 | |
|                                 JITCodeEmitter& JCE,
 | |
|                                 unsigned char* StartFunction,
 | |
|                                 unsigned char* EndFunction,
 | |
|                                 unsigned char* &EHFramePtr);
 | |
| 
 | |
| 
 | |
|   void setModuleInfo(MachineModuleInfo* Info) {
 | |
|     MMI = Info;
 | |
|   }
 | |
| };
 | |
| 
 | |
| 
 | |
| } // end namespace llvm
 | |
| 
 | |
| #endif // LLVM_EXECUTION_ENGINE_JIT_DWARFEMITTER_H
 |