mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23192 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //=====---- X86Subtarget.h - Define Subtarget for the X86 -----*- C++ -*--====//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file was developed by Nate Begeman and is distributed under the
 | |
| // University of Illinois Open Source License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| //
 | |
| // This file declares the X86 specific subclass of TargetSubtarget.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef X86SUBTARGET_H
 | |
| #define X86SUBTARGET_H
 | |
| 
 | |
| #include "llvm/Target/TargetSubtarget.h"
 | |
| 
 | |
| #include <string>
 | |
| 
 | |
| namespace llvm {
 | |
| class Module;
 | |
| 
 | |
| class X86Subtarget : public TargetSubtarget {
 | |
| protected:
 | |
|   /// stackAlignment - The minimum alignment known to hold of the stack frame on
 | |
|   /// entry to the function and which must be maintained by every function.
 | |
|   unsigned stackAlignment;
 | |
| 
 | |
|   /// Used by instruction selector
 | |
|   bool indirectExternAndWeakGlobals;
 | |
| 
 | |
|   /// Used by the asm printer
 | |
|   bool asmDarwinLinkerStubs;
 | |
|   bool asmLeadingUnderscore;
 | |
|   bool asmAlignmentIsInBytes;
 | |
|   bool asmPrintDotLocalConstants;
 | |
|   bool asmPrintDotLCommConstants;
 | |
|   bool asmPrintConstantAlignment;
 | |
| public:
 | |
|   /// This constructor initializes the data members to match that
 | |
|   /// of the specified module.
 | |
|   ///
 | |
|   X86Subtarget(const Module &M, const std::string &FS);
 | |
| 
 | |
|   /// getStackAlignment - Returns the minimum alignment known to hold of the
 | |
|   /// stack frame on entry to the function and which must be maintained by every
 | |
|   /// function for this subtarget.
 | |
|   unsigned getStackAlignment() const { return stackAlignment; }
 | |
| 
 | |
|   /// Returns true if the instruction selector should treat global values
 | |
|   /// referencing external or weak symbols as indirect rather than direct
 | |
|   /// references.
 | |
|   bool getIndirectExternAndWeakGlobals() const {
 | |
|     return indirectExternAndWeakGlobals;
 | |
|   }
 | |
| };
 | |
| } // End llvm namespace
 | |
| 
 | |
| #endif
 |