[PATCH] D69542: Full Restrict Support - single patch

Jeroen Dobbelaere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 14 03:25:56 PDT 2020


jeroen.dobbelaere updated this revision to Diff 277761.
jeroen.dobbelaere edited the summary of this revision.
jeroen.dobbelaere added a comment.
Herald added subscribers: dang, nikic.

Rebased to c06b7e2ab5167ad031745a706204abed1aefd823 <https://reviews.llvm.org/rGc06b7e2ab5167ad031745a706204abed1aefd823> (July 14, 2020)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69542/new/

https://reviews.llvm.org/D69542

Files:
  clang/include/clang/AST/Type.h
  clang/include/clang/Basic/CodeGenOptions.def
  clang/include/clang/Driver/Options.td
  clang/lib/AST/Type.cpp
  clang/lib/CodeGen/Address.h
  clang/lib/CodeGen/CGCall.cpp
  clang/lib/CodeGen/CGDecl.cpp
  clang/lib/CodeGen/CGExpr.cpp
  clang/lib/CodeGen/CGExprAgg.cpp
  clang/lib/CodeGen/CGStmt.cpp
  clang/lib/CodeGen/CodeGenFunction.cpp
  clang/lib/CodeGen/CodeGenFunction.h
  clang/lib/Driver/ToolChains/Clang.cpp
  clang/lib/Frontend/CompilerInvocation.cpp
  clang/test/CodeGen/arm_neon_intrinsics.c
  clang/test/CodeGen/restrict/arg_reuse.c
  clang/test/CodeGen/restrict/array.c
  clang/test/CodeGen/restrict/basic.c
  clang/test/CodeGen/restrict/basic_opt_01.c
  clang/test/CodeGen/restrict/basic_opt_02.c
  clang/test/CodeGen/restrict/basic_opt_03.c
  clang/test/CodeGen/restrict/basic_opt_04.c
  clang/test/CodeGen/restrict/escape_through_volatile.c
  clang/test/CodeGen/restrict/inlining_01.c
  clang/test/CodeGen/restrict/inlining_02.c
  clang/test/CodeGen/restrict/provenance.noalias_reduction_01.c
  clang/test/CodeGen/restrict/struct.c
  clang/test/CodeGen/restrict/struct_member_01.c
  clang/test/CodeGen/restrict/struct_member_02.c
  clang/test/CodeGen/restrict/struct_member_03.c
  clang/test/CodeGen/restrict/struct_member_04.c
  clang/test/CodeGen/restrict/struct_member_05.c
  clang/test/CodeGen/restrict/struct_member_06.c
  clang/test/CodeGen/restrict/struct_member_07.c
  clang/test/CodeGen/restrict/struct_member_08.cpp
  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
  llvm/docs/LangRef.rst
  llvm/docs/NoAliasInfo.rst
  llvm/docs/UserGuides.rst
  llvm/include/llvm/Analysis/AliasSetTracker.h
  llvm/include/llvm/Analysis/BasicAliasAnalysis.h
  llvm/include/llvm/Analysis/ScopedNoAliasAA.h
  llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  llvm/include/llvm/Analysis/ValueTracking.h
  llvm/include/llvm/Analysis/VectorUtils.h
  llvm/include/llvm/IR/IRBuilder.h
  llvm/include/llvm/IR/InstVisitor.h
  llvm/include/llvm/IR/Instruction.h
  llvm/include/llvm/IR/Instructions.h
  llvm/include/llvm/IR/IntrinsicInst.h
  llvm/include/llvm/IR/Intrinsics.h
  llvm/include/llvm/IR/Intrinsics.td
  llvm/include/llvm/IR/Metadata.h
  llvm/include/llvm/IR/User.h
  llvm/include/llvm/IR/Value.h
  llvm/include/llvm/InitializePasses.h
  llvm/include/llvm/LinkAllPasses.h
  llvm/include/llvm/Transforms/Scalar.h
  llvm/include/llvm/Transforms/Scalar/ConnectNoAliasDecl.h
  llvm/include/llvm/Transforms/Scalar/PropagateAndConvertNoAlias.h
  llvm/include/llvm/Transforms/Utils/Cloning.h
  llvm/include/llvm/Transforms/Utils/NoAliasUtils.h
  llvm/lib/Analysis/AliasSetTracker.cpp
  llvm/lib/Analysis/BasicAliasAnalysis.cpp
  llvm/lib/Analysis/CaptureTracking.cpp
  llvm/lib/Analysis/InstructionSimplify.cpp
  llvm/lib/Analysis/MemorySSA.cpp
  llvm/lib/Analysis/ScopedNoAliasAA.cpp
  llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/lib/Analysis/VectorUtils.cpp
  llvm/lib/AsmParser/LLLexer.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/AsmParser/LLParser.h
  llvm/lib/AsmParser/LLToken.h
  llvm/lib/CodeGen/IntrinsicLowering.cpp
  llvm/lib/CodeGen/MachineOperand.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/IR/AsmWriter.cpp
  llvm/lib/IR/IRBuilder.cpp
  llvm/lib/IR/Instructions.cpp
  llvm/lib/IR/Metadata.cpp
  llvm/lib/IR/User.cpp
  llvm/lib/IR/Value.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
  llvm/lib/Transforms/IPO/FunctionAttrs.cpp
  llvm/lib/Transforms/IPO/GlobalOpt.cpp
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
  llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
  llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  llvm/lib/Transforms/Scalar/CMakeLists.txt
  llvm/lib/Transforms/Scalar/ConnectNoAliasDecl.cpp
  llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
  llvm/lib/Transforms/Scalar/EarlyCSE.cpp
  llvm/lib/Transforms/Scalar/GVN.cpp
  llvm/lib/Transforms/Scalar/JumpThreading.cpp
  llvm/lib/Transforms/Scalar/LICM.cpp
  llvm/lib/Transforms/Scalar/PropagateAndConvertNoAlias.cpp
  llvm/lib/Transforms/Scalar/SROA.cpp
  llvm/lib/Transforms/Scalar/Scalar.cpp
  llvm/lib/Transforms/Utils/CMakeLists.txt
  llvm/lib/Transforms/Utils/CloneFunction.cpp
  llvm/lib/Transforms/Utils/InlineFunction.cpp
  llvm/lib/Transforms/Utils/Local.cpp
  llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
  llvm/lib/Transforms/Utils/LoopUnroll.cpp
  llvm/lib/Transforms/Utils/NoAliasUtils.cpp
  llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Analysis/BasicAA/noalias-intr.ll
  llvm/test/Analysis/ScopedNoAliasAA/basic-domains.ll
  llvm/test/Analysis/ScopedNoAliasAA/basic2.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias-calls.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias-dup-scope.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias2.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_basics.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_member.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_phi.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_phi_in_loop.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_recursive.ll
  llvm/test/Analysis/ScopedNoAliasAA/noalias_select.ll
  llvm/test/Bitcode/loadstore_ptr_provenance.ll
  llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
  llvm/test/CodeGen/Generic/noalias.ll
  llvm/test/CodeGen/Generic/provenance.noalias.ll
  llvm/test/Other/new-pm-defaults.ll
  llvm/test/Other/new-pm-lto-defaults.ll
  llvm/test/Other/new-pm-thinlto-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
  llvm/test/Other/opt-O2-pipeline.ll
  llvm/test/Other/opt-O3-pipeline.ll
  llvm/test/Other/opt-Os-pipeline.ll
  llvm/test/Other/pass-pipelines.ll
  llvm/test/Transforms/ConnectNoAliasDecl/basictest.ll
  llvm/test/Transforms/Coroutines/ArgAddr.ll
  llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
  llvm/test/Transforms/Coroutines/coro-retcon-value.ll
  llvm/test/Transforms/Coroutines/coro-retcon.ll
  llvm/test/Transforms/EarlyCSE/basic.ll
  llvm/test/Transforms/FunctionAttrs/nocapture.ll
  llvm/test/Transforms/FunctionAttrs/nonnull.ll
  llvm/test/Transforms/Inline/launder.invariant.group.ll
  llvm/test/Transforms/Inline/noalias-calls.ll
  llvm/test/Transforms/Inline/noalias-scopes.ll
  llvm/test/Transforms/Inline/noalias.ll
  llvm/test/Transforms/Inline/noalias2.ll
  llvm/test/Transforms/Inline/parallel-loop-md-merge.ll
  llvm/test/Transforms/InstCombine/fold-phi-load-metadata.ll
  llvm/test/Transforms/InstCombine/noalias.ll
  llvm/test/Transforms/InstSimplify/noalias.ll
  llvm/test/Transforms/LICM/noalias.ll
  llvm/test/Transforms/LoopRotate/noalias.ll
  llvm/test/Transforms/LoopUnroll/noalias.ll
  llvm/test/Transforms/LoopVectorize/noalias.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/basictest.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/call.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/degenerated.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/double_noalias.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/inlined.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/noalias_cleanup.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/reduced01.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/select_and_phi.ll
  llvm/test/Transforms/PropagateAndConvertNoAlias/struct.ll
  llvm/test/Transforms/SLPVectorizer/noalias.ll
  llvm/test/Transforms/SROA/noalias.ll
  llvm/test/Transforms/SROA/noalias2.ll
  llvm/test/Transforms/SROA/noalias_copy_guard.ll
  llvm/unittests/IR/IRBuilderTest.cpp





More information about the llvm-commits mailing list