mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7833 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //===- CodeGenWrappers.h - Code Generation Class Wrappers -------*- C++ -*-===//
 | |
| //
 | |
| // These classes wrap target description classes used by the various code
 | |
| // generation TableGen backends.  This makes it easier to access the data and
 | |
| // provides a single place that needs to check it for validity.  All of these
 | |
| // classes throw exceptions on error conditions.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef CODEGENWRAPPERS_H
 | |
| #define CODEGENWRAPPERS_H
 | |
| 
 | |
| #include "llvm/CodeGen/ValueTypes.h"
 | |
| #include <iosfwd>
 | |
| #include <string>
 | |
| #include <vector>
 | |
| class Record;
 | |
| class RecordKeeper;
 | |
| 
 | |
| /// getValueType - Return the MVT::ValueType that the specified TableGen record
 | |
| /// corresponds to.
 | |
| MVT::ValueType getValueType(Record *Rec);
 | |
| 
 | |
| std::ostream &operator<<(std::ostream &OS, MVT::ValueType T);
 | |
| std::string getName(MVT::ValueType T);
 | |
| std::string getEnumName(MVT::ValueType T);
 | |
| 
 | |
| 
 | |
| /// CodeGenTarget - This class corresponds to the Target class in the .td files.
 | |
| ///
 | |
| class CodeGenTarget {
 | |
|   Record *TargetRec;
 | |
|   std::vector<Record*> CalleeSavedRegisters;
 | |
|   MVT::ValueType PointerType;
 | |
| 
 | |
| public:
 | |
|   CodeGenTarget();
 | |
| 
 | |
|   Record *getTargetRecord() const { return TargetRec; }
 | |
|   const std::string &getName() const;
 | |
| 
 | |
|   const std::vector<Record*> &getCalleeSavedRegisters() const {
 | |
|     return CalleeSavedRegisters;
 | |
|   }
 | |
| 
 | |
|   MVT::ValueType getPointerType() const { return PointerType; }
 | |
| 
 | |
|   // getInstructionSet - Return the InstructionSet object...
 | |
|   Record *getInstructionSet() const;
 | |
| 
 | |
|   // getInstructionSet - Return the CodeGenInstructionSet object for this
 | |
|   // target, lazily reading it from the record keeper as needed.
 | |
|   // CodeGenInstructionSet *getInstructionSet -
 | |
| };
 | |
| 
 | |
| #endif
 |