[all-commits] [llvm/llvm-project] ca4460: [OpenMP][OMPIRBuilder]Move SIMD alignment calculat...
Dominik Adamski via All-commits
all-commits at lists.llvm.org
Thu Jan 26 13:18:32 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ca446037af019d1aa01b1352a30a18df33038359
https://github.com/llvm/llvm-project/commit/ca446037af019d1aa01b1352a30a18df33038359
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2023-01-26 (Thu, 26 Jan 2023)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP][OMPIRBuilder]Move SIMD alignment calculation to LLVM Frontend
Currently default simd alignment is defined by Clang specific TargetInfo class.
This class cannot be reused for LLVM Flang. That's why default simd alignment
calculation has been moved to OMPIRBuilder which is common for Flang and Clang.
Previous attempt: https://reviews.llvm.org/D138496 was wrong because
the default alignment depended on the number of built LLVM targets.
If we wanted to calculate the default alignment for PPC and we hadn't specified
PPC LLVM target to build, then we would get 0 as the alignment because
OMPIRBuilder couldn't create PPCTargetMachine object and it returned 0 as
the default value.
If PPC LLVM target had been built earlier, then OMPIRBuilder could have created
PPCTargetMachine object and it would have returned 128.
Differential Revision: https://reviews.llvm.org/D141910
Reviewed By: jdoerfert
More information about the All-commits
mailing list