mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	We need to intialize this to something and since clang does not set the shader type attribute and clang is used only for compute shaders, initializing it to COMPUTE seems like the best choice. Reviewed-by: Christian König <christian.koenig@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180620 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			25 lines
		
	
	
		
			695 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			695 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "AMDGPUMachineFunction.h"
 | 
						|
#include "AMDGPU.h"
 | 
						|
#include "llvm/IR/Attributes.h"
 | 
						|
#include "llvm/IR/Function.h"
 | 
						|
 | 
						|
namespace llvm {
 | 
						|
 | 
						|
const char *AMDGPUMachineFunction::ShaderTypeAttribute = "ShaderType";
 | 
						|
 | 
						|
AMDGPUMachineFunction::AMDGPUMachineFunction(const MachineFunction &MF) :
 | 
						|
    MachineFunctionInfo() {
 | 
						|
  ShaderType = ShaderType::COMPUTE;
 | 
						|
  AttributeSet Set = MF.getFunction()->getAttributes();
 | 
						|
  Attribute A = Set.getAttribute(AttributeSet::FunctionIndex,
 | 
						|
                                 ShaderTypeAttribute);
 | 
						|
 | 
						|
  if (A.isStringAttribute()) {
 | 
						|
    StringRef Str = A.getValueAsString();
 | 
						|
    if (Str.getAsInteger(0, ShaderType))
 | 
						|
      llvm_unreachable("Can't parse shader type!");
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
}
 |