[PATCH] D135780: [IR] Switch everything to use memory attribute

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 12 07:48:49 PDT 2022


nikic created this revision.
Herald added subscribers: kosarev, jeroen.dobbelaere, ormris, jdoerfert, asbirlea, hiraditya, arichardson, jvesely, nemanjai.
Herald added a project: All.
nikic requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This patch is still WIP. More test updates are needed and changes to some areas like the Attributor.

This switches everything to use the memory attribute proposed in https://discourse.llvm.org/t/rfc-unify-memory-effect-attributes/65579. To somewhat reduce the patch size, this include compatibility layer for the old attributes in textual IR. Tests will be updated separately, and then the old attributes can be dropped.

Depends on D135592 <https://reviews.llvm.org/D135592>.


https://reviews.llvm.org/D135780

Files:
  clang/lib/CodeGen/CGCall.cpp
  clang/lib/CodeGen/ItaniumCXXABI.cpp
  clang/test/CodeGen/asm-attrs.c
  clang/test/CodeGen/builtin-sqrt.c
  clang/test/CodeGen/complex-builtins.c
  clang/test/CodeGen/complex-libcalls.c
  clang/test/CodeGen/function-attributes.c
  clang/test/CodeGen/libcall-declarations.c
  clang/test/CodeGen/libcalls.c
  clang/test/CodeGen/math-builtins.c
  clang/test/CodeGen/math-libcalls.c
  clang/test/CodeGen/ms-declspecs.c
  clang/test/CodeGen/pragma-weak.c
  clang/test/CodeGen/struct-passing.c
  clang/test/CodeGenCXX/2009-05-04-PureConstNounwind.cpp
  clang/test/CodeGenCXX/dynamic-cast.cpp
  clang/test/CodeGenCXX/threadlocal_address.cpp
  clang/test/CodeGenOpenCL/builtins-amdgcn.cl
  clang/test/CodeGenOpenCL/convergent.cl
  clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
  clang/test/Sema/libbuiltins-ctype-powerpc64.c
  clang/test/Sema/libbuiltins-ctype-x86_64.c
  llvm/include/llvm/IR/Attributes.h
  llvm/include/llvm/IR/Function.h
  llvm/include/llvm/IR/InstrTypes.h
  llvm/lib/Analysis/BasicAliasAnalysis.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/IR/AttributeImpl.h
  llvm/lib/IR/Attributes.cpp
  llvm/lib/IR/Function.cpp
  llvm/lib/IR/Instructions.cpp
  llvm/lib/Transforms/IPO/FunctionAttrs.cpp
  llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  llvm/lib/Transforms/Scalar/SCCP.cpp
  llvm/test/Analysis/BasicAA/cs-cs.ll
  llvm/test/Analysis/BasicAA/intrinsics.ll
  llvm/test/Analysis/BasicAA/pure-const-dce.ll
  llvm/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
  llvm/test/Analysis/TypeBasedAliasAnalysis/intrinsics.ll
  llvm/test/Assembler/aarch64-intrinsics-attributes.ll
  llvm/test/Transforms/DeadArgElim/2010-04-30-DbgInfo.ll
  llvm/test/Transforms/FunctionAttrs/argmemonly.ll
  llvm/test/Transforms/InstCombine/AArch64/2012-04-23-Neon-Intrinsics.ll
  llvm/test/Transforms/InstCombine/stpncpy-1.ll
  llvm/test/Transforms/LICM/scalar-promote.ll
  llvm/test/Transforms/LICM/strlen.ll
  llvm/test/Transforms/RewriteStatepointsForGC/X86/intrinsic-attributes.ll
  llvm/test/Transforms/RewriteStatepointsForGC/statepoint-attrs.ll
  llvm/test/Transforms/SCCP/ipscp-drop-argmemonly.ll
  llvm/test/Transforms/SCCP/remove-call-inst.ll
  llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad-debuginfo.ll
  llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad.ll
  llvm/test/Transforms/SimplifyCFG/preserve-branchweights.ll
  llvm/utils/TableGen/IntrinsicEmitter.cpp
  llvm/utils/UpdateTestChecks/common.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135780.467146.patch
Type: text/x-patch
Size: 78252 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221012/da2cc304/attachment.bin>


More information about the llvm-commits mailing list