llvm-project/clang/lib
Johannes Doerfert 95a25e4c32 [OpenMP][FIX] Do not use TBAA in type punning reduction GPU code PR46156
When we implement OpenMP GPU reductions we use type punning a lot during
the shuffle and reduce operations. This is not always compatible with
language rules on aliasing. So far we generated TBAA which later allowed
to remove some of the reduce code as accesses and initialization were
"known to not alias". With this patch we avoid TBAA in this step,
hopefully for all accesses that we need to.

Verified on the reproducer of PR46156 and QMCPack.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D86037
2020-08-16 14:38:31 -05:00
..
ARCMigrate With MSVC, file needs to be compiled with /BIGOBJ 2020-07-17 09:43:06 -07:00
AST PR47143: Don't crash while constant-evaluating value-initialization of 2020-08-12 16:53:45 -07:00
ASTMatchers [clang] Add a matcher for template template parameters. 2020-08-11 16:01:36 +01:00
Analysis [AST] add parenthesis locations for IfStmt and SwitchStmt 2020-08-10 19:19:51 -07:00
Basic [Target] Cache the command line derived feature map in TargetOptions. 2020-08-12 12:37:23 -07:00
CodeGen [OpenMP][FIX] Do not use TBAA in type punning reduction GPU code PR46156 2020-08-16 14:38:31 -05:00
CrossTU [analyzer] Add CTUImportCppThreshold for C++ files 2020-07-09 15:36:33 +02:00
DirectoryWatcher [DirectoryWatcher] Do not use FSEvents on non-macOS platforms 2020-04-23 10:22:28 -07:00
Driver Create strict aligned code for OpenBSD/arm64. 2020-08-16 07:14:34 -04:00
Edit [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
Format [clang-format] use spaces for alignment of binary/ternary expressions with UT_AlignWithSpaces 2020-08-11 14:56:26 +02:00
Frontend [DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on. 2020-08-13 15:48:55 -07:00
FrontendTool [NFC] Refactor Registry loops to range for 2020-06-19 00:40:10 +01:00
Headers [PowerPC] Implement Vector Shift Builtins 2020-08-12 18:26:58 -05:00
Index [clangd] Revert "[clangd] Fix crash-bug in preamble indexing when using modules." 2020-08-13 17:09:54 +02:00
Lex [OpenCL] Remove warning for variadic macros in C++ for OpenCL. 2020-08-12 16:17:54 +01:00
Parse [Parser] Suppress -Wempty-translation-unit if this is a header file 2020-08-13 09:43:27 +02:00
Rewrite [Rewrite][NFC] Add FIXMEs and tests for RemoveLineIfEmpty bug 2019-08-15 21:17:48 +00:00
Sema [Sema] Use the proper cast for a fixed bool enum. 2020-08-16 18:40:08 +02:00
Serialization [AST] add parenthesis locations for IfStmt and SwitchStmt 2020-08-10 19:19:51 -07:00
StaticAnalyzer [analyzer] Fix crash with pointer to members values 2020-08-13 18:03:59 +03:00
Testing Fix MSVC "not all control paths return a value" warning. NFC. 2020-06-05 10:45:59 +01:00
Tooling [SyntaxTree] Unbox operators into tokens for nodes generated from `CXXOperatorCallExpr` 2020-08-12 08:01:18 +00:00
CMakeLists.txt Move unittest helpers to a shared location 2020-05-29 16:47:33 +02:00