mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-09 10:31:14 +00:00
R600: Use a Southern Islands GPU as the default for the amdgcn target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227314 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
11e00a5be6
commit
9813f8be5d
@ -31,7 +31,7 @@ using namespace llvm;
|
|||||||
#include "AMDGPUGenSubtargetInfo.inc"
|
#include "AMDGPUGenSubtargetInfo.inc"
|
||||||
|
|
||||||
AMDGPUSubtarget &
|
AMDGPUSubtarget &
|
||||||
AMDGPUSubtarget::initializeSubtargetDependencies(StringRef GPU, StringRef FS) {
|
AMDGPUSubtarget::initializeSubtargetDependencies(StringRef TT, StringRef GPU, StringRef FS) {
|
||||||
// Determine default and user-specified characteristics
|
// Determine default and user-specified characteristics
|
||||||
// On SI+, we want FP64 denormals to be on by default. FP32 denormals can be
|
// On SI+, we want FP64 denormals to be on by default. FP32 denormals can be
|
||||||
// enabled, but some instructions do not respect them and they run at the
|
// enabled, but some instructions do not respect them and they run at the
|
||||||
@ -44,6 +44,9 @@ AMDGPUSubtarget::initializeSubtargetDependencies(StringRef GPU, StringRef FS) {
|
|||||||
SmallString<256> FullFS("+promote-alloca,+fp64-denormals,");
|
SmallString<256> FullFS("+promote-alloca,+fp64-denormals,");
|
||||||
FullFS += FS;
|
FullFS += FS;
|
||||||
|
|
||||||
|
if (GPU == "" && Triple(TT).getArch() == Triple::amdgcn)
|
||||||
|
GPU = "SI";
|
||||||
|
|
||||||
ParseSubtargetFeatures(GPU, FullFS);
|
ParseSubtargetFeatures(GPU, FullFS);
|
||||||
|
|
||||||
// FIXME: I don't think think Evergreen has any useful support for
|
// FIXME: I don't think think Evergreen has any useful support for
|
||||||
@ -80,7 +83,7 @@ AMDGPUSubtarget::AMDGPUSubtarget(StringRef TT, StringRef GPU, StringRef FS,
|
|||||||
EnablePromoteAlloca(false), EnableIfCvt(true),
|
EnablePromoteAlloca(false), EnableIfCvt(true),
|
||||||
EnableLoadStoreOpt(false), WavefrontSize(0), CFALUBug(false), LocalMemorySize(0),
|
EnableLoadStoreOpt(false), WavefrontSize(0), CFALUBug(false), LocalMemorySize(0),
|
||||||
EnableVGPRSpilling(false),
|
EnableVGPRSpilling(false),
|
||||||
DL(computeDataLayout(initializeSubtargetDependencies(GPU, FS))),
|
DL(computeDataLayout(initializeSubtargetDependencies(TT, GPU, FS))),
|
||||||
FrameLowering(TargetFrameLowering::StackGrowsUp,
|
FrameLowering(TargetFrameLowering::StackGrowsUp,
|
||||||
64 * 16, // Maximum stack alignment (long16)
|
64 * 16, // Maximum stack alignment (long16)
|
||||||
0),
|
0),
|
||||||
|
@ -76,7 +76,8 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
AMDGPUSubtarget(StringRef TT, StringRef CPU, StringRef FS, TargetMachine &TM);
|
AMDGPUSubtarget(StringRef TT, StringRef CPU, StringRef FS, TargetMachine &TM);
|
||||||
AMDGPUSubtarget &initializeSubtargetDependencies(StringRef GPU, StringRef FS);
|
AMDGPUSubtarget &initializeSubtargetDependencies(StringRef TT, StringRef GPU,
|
||||||
|
StringRef FS);
|
||||||
|
|
||||||
// FIXME: This routine needs to go away. See comments in
|
// FIXME: This routine needs to go away. See comments in
|
||||||
// AMDGPUTargetMachine.h.
|
// AMDGPUTargetMachine.h.
|
||||||
|
Loading…
Reference in New Issue
Block a user