[PATCH] D61639: Add Triple::isSPIR() to simplify code
Kévin Petit via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue May 7 03:54:05 PDT 2019
kpet created this revision.
kpet added a reviewer: Anastasia.
Herald added subscribers: llvm-commits, cfe-commits, dexonsmith.
Herald added projects: clang, LLVM.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D61639
Files:
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/Frontend/CompilerInvocation.cpp
clang/lib/Frontend/InitPreprocessor.cpp
llvm/include/llvm/ADT/Triple.h
Index: llvm/include/llvm/ADT/Triple.h
===================================================================
--- llvm/include/llvm/ADT/Triple.h
+++ llvm/include/llvm/ADT/Triple.h
@@ -671,6 +671,11 @@
getEnvironment() == Triple::MuslEABIHF;
}
+ /// Tests whether the target is SPIR (32- or 64-bit).
+ bool isSPIR() const {
+ return getArch() == Triple::spir || getArch() == Triple::spir64;
+ }
+
/// Tests whether the target is NVPTX (32- or 64-bit).
bool isNVPTX() const {
return getArch() == Triple::nvptx || getArch() == Triple::nvptx64;
Index: clang/lib/Frontend/InitPreprocessor.cpp
===================================================================
--- clang/lib/Frontend/InitPreprocessor.cpp
+++ clang/lib/Frontend/InitPreprocessor.cpp
@@ -1070,8 +1070,7 @@
Builder.defineMacro(#Ext);
#include "clang/Basic/OpenCLExtensions.def"
- auto Arch = TI.getTriple().getArch();
- if (Arch == llvm::Triple::spir || Arch == llvm::Triple::spir64)
+ if (TI.getTriple().isSPIR())
Builder.defineMacro("__IMAGE_SUPPORT__");
}
Index: clang/lib/Frontend/CompilerInvocation.cpp
===================================================================
--- clang/lib/Frontend/CompilerInvocation.cpp
+++ clang/lib/Frontend/CompilerInvocation.cpp
@@ -3349,10 +3349,8 @@
Res.getFrontendOpts().ProgramAction);
// Turn on -Wspir-compat for SPIR target.
- auto Arch = T.getArch();
- if (Arch == llvm::Triple::spir || Arch == llvm::Triple::spir64) {
+ if (T.isSPIR())
Res.getDiagnosticOpts().Warnings.push_back("spir-compat");
- }
// If sanitizer is enabled, disable OPT_ffine_grained_bitfield_accesses.
if (Res.getCodeGenOpts().FineGrainedBitfieldAccesses &&
Index: clang/lib/CodeGen/CodeGenModule.cpp
===================================================================
--- clang/lib/CodeGen/CodeGenModule.cpp
+++ clang/lib/CodeGen/CodeGenModule.cpp
@@ -539,8 +539,7 @@
if (LangOpts.OpenCL) {
EmitOpenCLMetadata();
// Emit SPIR version.
- if (getTriple().getArch() == llvm::Triple::spir ||
- getTriple().getArch() == llvm::Triple::spir64) {
+ if (getTriple().isSPIR()) {
// SPIR v2.0 s2.12 - The SPIR version used by the module is stored in the
// opencl.spir.version named metadata.
llvm::Metadata *SPIRVerElts[] = {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61639.198429.patch
Type: text/x-patch
Size: 2353 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190507/0f67628c/attachment.bin>
More information about the cfe-commits
mailing list