This is part of the series started by D68484.
This is the clang-side patch for enabling full restrict by default.
Note: this is a stable point and tests should run fine with the patches applied up to this point.
Paths
| Differential D68523
[PATCH 27/27] [noalias] Clang: enable full restrict by default. Needs ReviewPublic Authored by jeroen.dobbelaere on Oct 4 2019, 3:31 PM.
Details
Diff Detail Event TimelineComment Actions D68521 (Patch 36/38) was updated (Moved options to the 'f_Group' and reworked the logic). Comment Actions Rebased. Note: 'SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr38212.test' in the 'test-suite' will be failing now as it depends on undefined behavior (reads and writes the same object through different restrict pointers that are visible in the same scope). jeroen.dobbelaere retitled this revision from [PATCH 38/38] [noalias] Clang: enable full restrict by default. to [PATCH 26/26] [noalias] Clang: enable full restrict by default.. jeroen.dobbelaere retitled this revision from [PATCH 26/26] [noalias] Clang: enable full restrict by default. to [PATCH 27/27] [noalias] Clang: enable full restrict by default.. Comment ActionsRebased to 9fb46a452d4e5666828c95610ceac8dcd9e4ce16 (September 7, 2020) Comment Actions NOTE: the latest update missed two mandatory changes:
* in clang/include/clang/Driver/Options.td : the DefaultFalse should become a DefaultTrue in order to enable the full restrict by default.
* in clang/lib/Driver/ToolChains/Clang.cpp, '"-use-noalias-intrinsic-during-inlining=0"' must become '"-use-noalias-intrinsic-during-inlining=scopes"'
Revision Contents
Diff 270469 clang/include/clang/Basic/CodeGenOptions.def
clang/lib/Driver/ToolChains/Clang.cpp
clang/test/CodeGen/arm_neon_intrinsics.c
clang/test/Driver/full-restrict.c
clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
clang/test/OpenMP/for_reduction_task_codegen.cpp
clang/test/OpenMP/master_taskloop_firstprivate_codegen.cpp
clang/test/OpenMP/master_taskloop_lastprivate_codegen.cpp
clang/test/OpenMP/master_taskloop_private_codegen.cpp
clang/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp
clang/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp
clang/test/OpenMP/master_taskloop_simd_private_codegen.cpp
clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
clang/test/OpenMP/parallel_master_taskloop_firstprivate_codegen.cpp
clang/test/OpenMP/parallel_master_taskloop_lastprivate_codegen.cpp
clang/test/OpenMP/parallel_master_taskloop_private_codegen.cpp
clang/test/OpenMP/parallel_master_taskloop_simd_firstprivate_codegen.cpp
clang/test/OpenMP/parallel_master_taskloop_simd_lastprivate_codegen.cpp
clang/test/OpenMP/parallel_master_taskloop_simd_private_codegen.cpp
clang/test/OpenMP/parallel_reduction_task_codegen.cpp
clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
clang/test/OpenMP/sections_reduction_task_codegen.cpp
clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
clang/test/OpenMP/task_codegen.cpp
clang/test/OpenMP/task_firstprivate_codegen.cpp
clang/test/OpenMP/task_private_codegen.cpp
clang/test/OpenMP/taskloop_firstprivate_codegen.cpp
clang/test/OpenMP/taskloop_lastprivate_codegen.cpp
clang/test/OpenMP/taskloop_private_codegen.cpp
clang/test/OpenMP/taskloop_simd_firstprivate_codegen.cpp
clang/test/OpenMP/taskloop_simd_lastprivate_codegen.cpp
clang/test/OpenMP/taskloop_simd_private_codegen.cpp
clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
|