mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	MachineFunctionInfo subclasses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101634 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//===-- SPUMachineFunctionInfo.h - Private data used for CellSPU --*- C++ -*-=//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
//
 | 
						|
// This file declares the IBM Cell SPU specific subclass of MachineFunctionInfo.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
#ifndef SPU_MACHINE_FUNCTION_INFO_H
 | 
						|
#define SPU_MACHINE_FUNCTION_INFO_H
 | 
						|
 | 
						|
#include "llvm/CodeGen/MachineFunction.h"
 | 
						|
 | 
						|
namespace llvm {
 | 
						|
 | 
						|
/// SPUFunctionInfo - Cell SPU target-specific information for each
 | 
						|
/// MachineFunction
 | 
						|
class SPUFunctionInfo : public MachineFunctionInfo {
 | 
						|
private:
 | 
						|
  /// UsesLR - Indicates whether LR is used in the current function.
 | 
						|
  ///
 | 
						|
  bool UsesLR;
 | 
						|
 | 
						|
  // VarArgsFrameIndex - FrameIndex for start of varargs area.
 | 
						|
  int VarArgsFrameIndex;
 | 
						|
 | 
						|
public:
 | 
						|
  SPUFunctionInfo(MachineFunction& MF) 
 | 
						|
  : UsesLR(false),
 | 
						|
    VarArgsFrameIndex(0)
 | 
						|
  {}
 | 
						|
 | 
						|
  void setUsesLR(bool U) { UsesLR = U; }
 | 
						|
  bool usesLR()          { return UsesLR; }
 | 
						|
 | 
						|
  int getVarArgsFrameIndex() const { return VarArgsFrameIndex; }
 | 
						|
  void setVarArgsFrameIndex(int Index) { VarArgsFrameIndex = Index; }
 | 
						|
};
 | 
						|
 | 
						|
} // end of namespace llvm
 | 
						|
 | 
						|
 | 
						|
#endif
 | 
						|
 |