From: Mauro Rossi Date: Sat, 25 Aug 2018 21:45:24 +0000 (+0200) Subject: android: Aarch64,AMDGPU: enable GlobalISel X-Git-Url: http://git.osdn.net/view?p=android-x86%2Fexternal-llvm-project.git;a=commitdiff_plain;h=9cb026a12b3be0a1c14f0cccf349daff1442a00d android: Aarch64,AMDGPU: enable GlobalISel Reference commits: 8097fcb40b ("[GlobalISel] Add basic Selector-emitter tblgen backend.") ca24065b98 ("[globalisel] Tablegen-erate current Register Bank Information") 945c85d877 ("AMDGPU/GlobalISel: Add support for simple shaders") --- diff --git a/llvm/lib/CodeGen/GlobalISel/Android.bp b/llvm/lib/CodeGen/GlobalISel/Android.bp index 871be26c921..4dd07c6b511 100644 --- a/llvm/lib/CodeGen/GlobalISel/Android.bp +++ b/llvm/lib/CodeGen/GlobalISel/Android.bp @@ -3,7 +3,7 @@ cc_library_static { defaults: [ "llvm-lib-defaults", ], - // Only pull in this one file to ensure we aren't building with this - // experimental feature just yet. - srcs: ["GlobalISel.cpp"], + // Aarch64 and AMDGPU targets require GlobalIsel + // Experimental feature enabled by building all srcs + srcs: ["*.cpp"], } diff --git a/llvm/lib/Target/AArch64/Android.bp b/llvm/lib/Target/AArch64/Android.bp index 6f23095a2cf..125558f5927 100644 --- a/llvm/lib/Target/AArch64/Android.bp +++ b/llvm/lib/Target/AArch64/Android.bp @@ -5,13 +5,6 @@ cc_library_static { "llvm-aarch64-defaults", ], srcs: ["*.cpp"], - - // Global ISEL is an experimental feature. If LLVM_BUILD_GLOBAL_ISEL is not - // set, these files fail compilation based on a macro check. - exclude_srcs: [ - "AArch64CallLowering.cpp", - "AArch64RegisterBankInfo.cpp", - ], } cc_defaults { @@ -49,6 +42,8 @@ llvm_tblgen { "AArch64GenDisassemblerTables.inc", "AArch64GenMCPseudoLowering.inc", "AArch64GenSystemOperands.inc", + "AArch64GenRegisterBank.inc", + "AArch64GenGlobalISel.inc", ], } diff --git a/llvm/lib/Target/AMDGPU/Android.bp b/llvm/lib/Target/AMDGPU/Android.bp index 314f58117f8..15496d73489 100644 --- a/llvm/lib/Target/AMDGPU/Android.bp +++ b/llvm/lib/Target/AMDGPU/Android.bp @@ -5,12 +5,6 @@ cc_library_static { "llvm-amdgpu-defaults", ], srcs: ["*.cpp"], - - // Global ISEL is an experimental feature. If LLVM_BUILD_GLOBAL_ISEL is not - // set, these files fail compilation based on a macro check. - exclude_srcs: [ - "AMDGPUCallLowering.cpp", - ], } cc_defaults { @@ -44,6 +38,8 @@ llvm_tblgen { "AMDGPUGenSubtargetInfo.inc", "AMDGPUGenIntrinsics.inc", "AMDGPUGenDFAPacketizer.inc", + "AMDGPUGenRegisterBank.inc", + "AMDGPUGenGlobalISel.inc", ], } diff --git a/llvm/soong/tblgen.go b/llvm/soong/tblgen.go index 4e59fbffd61..9ec0605b4ec 100644 --- a/llvm/soong/tblgen.go +++ b/llvm/soong/tblgen.go @@ -128,6 +128,10 @@ func outToGenerator(ctx android.ModuleContext, out string) string { return "-gen-opt-parser-defs" case strings.HasSuffix(out, "GenDFAPacketizer.inc"): return "-gen-dfa-packetizer" + case strings.HasSuffix(out, "GenRegisterBank.inc"): + return "-gen-register-bank" + case strings.HasSuffix(out, "GenGlobalISel.inc"): + return "-gen-global-isel" case out == "Attributes.inc", out == "AttributesCompatFunc.inc": return "-gen-attrs" case out == "Intrinsics.gen":