forked from OSchip/llvm-project
parent
8fa9677d4e
commit
45bb48ea19
|
@ -176,6 +176,7 @@ set(LLVM_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/include)
|
|||
|
||||
set(LLVM_ALL_TARGETS
|
||||
AArch64
|
||||
AMDGPU
|
||||
ARM
|
||||
BPF
|
||||
CppBackend
|
||||
|
@ -184,7 +185,6 @@ set(LLVM_ALL_TARGETS
|
|||
MSP430
|
||||
NVPTX
|
||||
PowerPC
|
||||
R600
|
||||
Sparc
|
||||
SystemZ
|
||||
X86
|
||||
|
|
|
@ -1097,7 +1097,7 @@ if test "$llvm_cv_enable_crash_overrides" = "yes" ; then
|
|||
fi
|
||||
|
||||
dnl List all possible targets
|
||||
ALL_TARGETS="X86 Sparc PowerPC ARM AArch64 Mips XCore MSP430 CppBackend NVPTX Hexagon SystemZ R600 BPF"
|
||||
ALL_TARGETS="X86 Sparc PowerPC ARM AArch64 Mips XCore MSP430 CppBackend NVPTX Hexagon SystemZ AMDGPU BPF"
|
||||
AC_SUBST(ALL_TARGETS,$ALL_TARGETS)
|
||||
|
||||
dnl Allow specific targets to be specified for building (or not)
|
||||
|
@ -1132,7 +1132,8 @@ case "$enableval" in
|
|||
hexagon) TARGETS_TO_BUILD="Hexagon $TARGETS_TO_BUILD" ;;
|
||||
nvptx) TARGETS_TO_BUILD="NVPTX $TARGETS_TO_BUILD" ;;
|
||||
systemz) TARGETS_TO_BUILD="SystemZ $TARGETS_TO_BUILD" ;;
|
||||
r600) TARGETS_TO_BUILD="R600 $TARGETS_TO_BUILD" ;;
|
||||
amdgpu) ;&
|
||||
r600) TARGETS_TO_BUILD="AMDGPU $TARGETS_TO_BUILD" ;;
|
||||
host) case "$llvm_cv_target_arch" in
|
||||
x86) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;;
|
||||
x86_64) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;;
|
||||
|
|
|
@ -5628,7 +5628,7 @@ _ACEOF
|
|||
|
||||
fi
|
||||
|
||||
ALL_TARGETS="X86 Sparc PowerPC ARM AArch64 Mips XCore MSP430 CppBackend NVPTX Hexagon SystemZ R600 BPF"
|
||||
ALL_TARGETS="X86 Sparc PowerPC ARM AArch64 Mips XCore MSP430 CppBackend NVPTX Hexagon SystemZ AMDGPU BPF"
|
||||
ALL_TARGETS=$ALL_TARGETS
|
||||
|
||||
|
||||
|
@ -5665,7 +5665,8 @@ case "$enableval" in
|
|||
hexagon) TARGETS_TO_BUILD="Hexagon $TARGETS_TO_BUILD" ;;
|
||||
nvptx) TARGETS_TO_BUILD="NVPTX $TARGETS_TO_BUILD" ;;
|
||||
systemz) TARGETS_TO_BUILD="SystemZ $TARGETS_TO_BUILD" ;;
|
||||
r600) TARGETS_TO_BUILD="R600 $TARGETS_TO_BUILD" ;;
|
||||
amdgpu) ;&
|
||||
r600) TARGETS_TO_BUILD="AMDGPU $TARGETS_TO_BUILD" ;;
|
||||
host) case "$llvm_cv_target_arch" in
|
||||
x86) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;;
|
||||
x86_64) TARGETS_TO_BUILD="X86 $TARGETS_TO_BUILD" ;;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
============================
|
||||
User Guide for R600 Back-end
|
||||
============================
|
||||
==============================
|
||||
User Guide for AMDGPU Back-end
|
||||
==============================
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
The R600 back-end provides ISA code generation for AMD GPUs, starting with
|
||||
The AMDGPU back-end provides ISA code generation for AMD GPUs, starting with
|
||||
the R600 family up until the current Volcanic Islands (GCN Gen 3).
|
||||
|
||||
|
||||
|
@ -14,7 +14,7 @@ Assembler
|
|||
|
||||
The assembler is currently considered experimental.
|
||||
|
||||
For syntax examples look in test/MC/R600.
|
||||
For syntax examples look in test/MC/AMDGPU.
|
||||
|
||||
Below some of the currently supported features (modulo bugs). These
|
||||
all apply to the Southern Islands ISA, Sea Islands and Volcanic Islands
|
|
@ -68,8 +68,8 @@ Other documents, collections, notes
|
|||
* `PowerPC64 alignment of long doubles (from GCC) <http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00997.html>`_
|
||||
* `Long branch stubs for powerpc64-linux (from binutils) <http://sources.redhat.com/ml/binutils/2002-04/msg00573.html>`_
|
||||
|
||||
R600
|
||||
----
|
||||
AMDGPU
|
||||
------
|
||||
|
||||
* `AMD R6xx shader ISA <http://developer.amd.com/wordpress/media/2012/10/R600_Instruction_Set_Architecture.pdf>`_
|
||||
* `AMD R7xx shader ISA <http://developer.amd.com/wordpress/media/2012/10/R700-Family_Instruction_Set_Architecture.pdf>`_
|
||||
|
|
|
@ -711,7 +711,7 @@ used by people developing LLVM.
|
|||
| | as ``LLVM_ALL_TARGETS``, and can be set to include |
|
||||
| | out-of-tree targets. The default value includes: |
|
||||
| | ``AArch64, ARM, CppBackend, Hexagon, |
|
||||
| | Mips, MSP430, NVPTX, PowerPC, R600, Sparc, |
|
||||
| | Mips, MSP430, NVPTX, PowerPC, AMDGPU, Sparc, |
|
||||
| | SystemZ, X86, XCore``. |
|
||||
+-------------------------+----------------------------------------------------+
|
||||
| LLVM_ENABLE_DOXYGEN | Build doxygen-based documentation from the source |
|
||||
|
|
|
@ -252,7 +252,7 @@ For API clients and LLVM developers.
|
|||
WritingAnLLVMPass
|
||||
HowToUseAttributes
|
||||
NVPTXUsage
|
||||
R600Usage
|
||||
AMDGPUUsage
|
||||
StackMaps
|
||||
InAlloca
|
||||
BigEndianNEON
|
||||
|
@ -338,8 +338,8 @@ For API clients and LLVM developers.
|
|||
:doc:`NVPTXUsage`
|
||||
This document describes using the NVPTX back-end to compile GPU kernels.
|
||||
|
||||
:doc:`R600Usage`
|
||||
This document describes how to use the R600 back-end.
|
||||
:doc:`AMDGPUUsage`
|
||||
This document describes how to use the AMDGPU back-end.
|
||||
|
||||
:doc:`StackMaps`
|
||||
LLVM support for mapping instruction addresses to the location of
|
||||
|
|
|
@ -80,7 +80,7 @@ createAMDGPUAsmPrinterPass(TargetMachine &tm,
|
|||
return new AMDGPUAsmPrinter(tm, std::move(Streamer));
|
||||
}
|
||||
|
||||
extern "C" void LLVMInitializeR600AsmPrinter() {
|
||||
extern "C" void LLVMInitializeAMDGPUAsmPrinter() {
|
||||
TargetRegistry::RegisterAsmPrinter(TheAMDGPUTarget, createAMDGPUAsmPrinterPass);
|
||||
TargetRegistry::RegisterAsmPrinter(TheGCNTarget, createAMDGPUAsmPrinterPass);
|
||||
}
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
using namespace llvm;
|
||||
|
||||
extern "C" void LLVMInitializeR600Target() {
|
||||
extern "C" void LLVMInitializeAMDGPUTarget() {
|
||||
// Register the target
|
||||
RegisterTargetMachine<R600TargetMachine> X(TheAMDGPUTarget);
|
||||
RegisterTargetMachine<GCNTargetMachine> Y(TheGCNTarget);
|
|
@ -1369,7 +1369,7 @@ void AMDGPUAsmParser::cvtVOP3(MCInst &Inst, const OperandVector &Operands) {
|
|||
}
|
||||
|
||||
/// Force static initialization.
|
||||
extern "C" void LLVMInitializeR600AsmParser() {
|
||||
extern "C" void LLVMInitializeAMDGPUAsmParser() {
|
||||
RegisterMCAsmParser<AMDGPUAsmParser> A(TheAMDGPUTarget);
|
||||
RegisterMCAsmParser<AMDGPUAsmParser> B(TheGCNTarget);
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
add_llvm_library(LLVMAMDGPUAsmParser
|
||||
AMDGPUAsmParser.cpp
|
||||
)
|
|
@ -1,4 +1,4 @@
|
|||
;===- ./lib/Target/R600/MCTargetDesc/LLVMBuild.txt -------------*- Conf -*--===;
|
||||
;===- ./lib/Target/AMDGPU/AsmParser/LLVMBuild.txt -------------*- Conf -*--===;
|
||||
;
|
||||
; The LLVM Compiler Infrastructure
|
||||
;
|
||||
|
@ -17,7 +17,7 @@
|
|||
|
||||
[component_0]
|
||||
type = Library
|
||||
name = R600Desc
|
||||
parent = R600
|
||||
required_libraries = MC R600AsmPrinter R600Info Support
|
||||
add_to_library_groups = R600
|
||||
name = AMDGPUAsmParser
|
||||
parent = AMDGPU
|
||||
required_libraries = MC MCParser AMDGPUDesc AMDGPUInfo Support
|
||||
add_to_library_groups = AMDGPU
|
|
@ -12,7 +12,7 @@ tablegen(LLVM AMDGPUGenAsmWriter.inc -gen-asm-writer)
|
|||
tablegen(LLVM AMDGPUGenAsmMatcher.inc -gen-asm-matcher)
|
||||
add_public_tablegen_target(AMDGPUCommonTableGen)
|
||||
|
||||
add_llvm_target(R600CodeGen
|
||||
add_llvm_target(AMDGPUCodeGen
|
||||
AMDILCFGStructurizer.cpp
|
||||
AMDGPUAlwaysInlinePass.cpp
|
||||
AMDGPUAsmPrinter.cpp
|
|
@ -0,0 +1,3 @@
|
|||
add_llvm_library(LLVMAMDGPUAsmPrinter
|
||||
AMDGPUInstPrinter.cpp
|
||||
)
|
|
@ -1,4 +1,4 @@
|
|||
;===- ./lib/Target/R600/InstPrinter/LLVMBuild.txt -----------*- Conf -*--===;
|
||||
;===- ./lib/Target/AMDGPU/InstPrinter/LLVMBuild.txt -----------*- Conf -*--===;
|
||||
;
|
||||
; The LLVM Compiler Infrastructure
|
||||
;
|
||||
|
@ -17,8 +17,8 @@
|
|||
|
||||
[component_0]
|
||||
type = Library
|
||||
name = R600AsmPrinter
|
||||
parent = R600
|
||||
name = AMDGPUAsmPrinter
|
||||
parent = AMDGPU
|
||||
required_libraries = MC Support
|
||||
add_to_library_groups = R600
|
||||
add_to_library_groups = AMDGPU
|
||||
|
|
@ -20,14 +20,14 @@ subdirectories = AsmParser InstPrinter MCTargetDesc TargetInfo
|
|||
|
||||
[component_0]
|
||||
type = TargetGroup
|
||||
name = R600
|
||||
name = AMDGPU
|
||||
parent = Target
|
||||
has_asmparser = 1
|
||||
has_asmprinter = 1
|
||||
|
||||
[component_1]
|
||||
type = Library
|
||||
name = R600CodeGen
|
||||
parent = R600
|
||||
required_libraries = Analysis AsmPrinter CodeGen Core IPO MC R600AsmParser R600AsmPrinter R600Desc R600Info Scalar SelectionDAG Support Target TransformUtils
|
||||
add_to_library_groups = R600
|
||||
name = AMDGPUCodeGen
|
||||
parent = AMDGPU
|
||||
required_libraries = Analysis AsmPrinter CodeGen Core IPO MC AMDGPUAsmParser AMDGPUAsmPrinter AMDGPUDesc AMDGPUInfo Scalar SelectionDAG Support Target TransformUtils
|
||||
add_to_library_groups = AMDGPU
|
|
@ -72,7 +72,7 @@ static MCInstPrinter *createAMDGPUMCInstPrinter(const Triple &T,
|
|||
return new AMDGPUInstPrinter(MAI, MII, MRI);
|
||||
}
|
||||
|
||||
extern "C" void LLVMInitializeR600TargetMC() {
|
||||
extern "C" void LLVMInitializeAMDGPUTargetMC() {
|
||||
for (Target *T : {&TheAMDGPUTarget, &TheGCNTarget}) {
|
||||
RegisterMCAsmInfo<AMDGPUMCAsmInfo> X(*T);
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
add_llvm_library(LLVMR600Desc
|
||||
add_llvm_library(LLVMAMDGPUDesc
|
||||
AMDGPUAsmBackend.cpp
|
||||
AMDGPUELFObjectWriter.cpp
|
||||
AMDGPUMCCodeEmitter.cpp
|
|
@ -1,4 +1,4 @@
|
|||
;===- ./lib/Target/R600/AsmParser/LLVMBuild.txt -------------*- Conf -*--===;
|
||||
;===- ./lib/Target/AMDGPU/MCTargetDesc/LLVMBuild.txt -------------*- Conf -*--===;
|
||||
;
|
||||
; The LLVM Compiler Infrastructure
|
||||
;
|
||||
|
@ -17,7 +17,7 @@
|
|||
|
||||
[component_0]
|
||||
type = Library
|
||||
name = R600AsmParser
|
||||
parent = R600
|
||||
required_libraries = MC MCParser R600Desc R600Info Support
|
||||
add_to_library_groups = R600
|
||||
name = AMDGPUDesc
|
||||
parent = AMDGPU
|
||||
required_libraries = MC AMDGPUAsmPrinter AMDGPUInfo Support
|
||||
add_to_library_groups = AMDGPU
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue