[PATCH] D38419: Rename instruction classes for memory intrinsics. (NFC)

Daniel Neilson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 29 12:24:16 PDT 2017


dneilson created this revision.
Herald added subscribers: javed.absar, JDevlieghere, nhaehnle, sdardis, arsenm, jholewinski.
Herald added a reviewer: deadalnix.

For reference, see: http://lists.llvm.org/pipermail/llvm-dev/2017-August/116589.html

This patch changes the names of the classes in the instruction hierarchy
related to the memory intrinsics. This is done in preparation of merging
the atomic memory intrinsics into the hierarchy alongside the non-atomic
memory intrinsics.

The renames being done in this change are:
MemIntrinsic -> PlainMemIntrinsic
MemSetInst -> PlainMemSetInst
MemTransferInst -> PlainMemTransferInst
MemMoveInst -> PlainMemMoveInst
MemCpyInst -> PlainMemCpyInst
ElementUnorderedAtomicMemCpyInst -> AtomicMemCpyInst
ElementUnorderedAtomicMemMoveInst -> AtomicMemMoveInst
ElementUnorderedAtomicMemSetInst -> AtomicMemSetInst

For downstream users, this renaming is achieved by applying the following
script to the llvm source tree:
#!/bin/bash

PREFIXES="[<,([:space:]]"
CLASSES="MemIntrinsic|MemTransferInst|MemSetInst|MemMoveInst|MemCpyInst"
SUFFIXES="[;)>,[:space:]]"

REGEX="(${PREFIXES})(${CLASSES})(${SUFFIXES})"
REGEX2="visit(${CLASSES})"
EA_REGEX="(${PREFIXES})ElementUnorderedAtomic(${CLASSES})(${SUFFIXES})"
EA_REGEX2="visitElementUnorderedAtomic(${CLASSES})"

FILES=$( grep -E "(${REGEX}|${REGEX2}|${EA_REGEX}|${EA_REGEX2})" -r . | tr ':' ' ' | awk '{print $1}' | sort | uniq )

SED_SCRIPT="s~${REGEX}~\1Plain\2\3~g"
SED_SCRIPT2="s~${REGEX2}~visitPlain\1~g"
EA_SED_SCRIPT="s~${EA_REGEX}~\1Atomic\2\3~g"
EA_SED_SCRIPT2="s~${EA_REGEX2}~visitAtomic\1~g"

for f in $FILES; do

  echo "Processing: $f"
  sed  -i ".bak" -E "${SED_SCRIPT};${SED_SCRIPT2};${EA_SED_SCRIPT};${EA_SED_SCRIPT2}" $f

done


https://reviews.llvm.org/D38419

Files:
  include/llvm-c/Core.h
  include/llvm/Analysis/AliasSetTracker.h
  include/llvm/Analysis/MemoryLocation.h
  include/llvm/Analysis/PtrUseVisitor.h
  include/llvm/IR/InstVisitor.h
  include/llvm/IR/IntrinsicInst.h
  include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h
  include/llvm/Transforms/Scalar/MemCpyOptimizer.h
  include/llvm/Transforms/Utils/LowerMemIntrinsics.h
  include/llvm/Transforms/Utils/VNCoercion.h
  lib/Analysis/AliasSetTracker.cpp
  lib/Analysis/BasicAliasAnalysis.cpp
  lib/Analysis/CaptureTracking.cpp
  lib/Analysis/LazyValueInfo.cpp
  lib/Analysis/Lint.cpp
  lib/Analysis/MemoryLocation.cpp
  lib/Analysis/ValueTracking.cpp
  lib/CodeGen/CodeGenPrepare.cpp
  lib/CodeGen/SafeStack.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/IR/Verifier.cpp
  lib/Target/AArch64/AArch64FastISel.cpp
  lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
  lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
  lib/Target/ARM/ARMFastISel.cpp
  lib/Target/ARM/ARMISelLowering.cpp
  lib/Target/Mips/MipsFastISel.cpp
  lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
  lib/Target/X86/X86FastISel.cpp
  lib/Transforms/IPO/GlobalOpt.cpp
  lib/Transforms/InstCombine/InstCombineCalls.cpp
  lib/Transforms/InstCombine/InstCombineInternal.h
  lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  lib/Transforms/InstCombine/InstructionCombining.cpp
  lib/Transforms/Instrumentation/AddressSanitizer.cpp
  lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
  lib/Transforms/Instrumentation/EfficiencySanitizer.cpp
  lib/Transforms/Instrumentation/MemorySanitizer.cpp
  lib/Transforms/Instrumentation/PGOInstrumentation.cpp
  lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
  lib/Transforms/Instrumentation/ThreadSanitizer.cpp
  lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
  lib/Transforms/Scalar/DeadStoreElimination.cpp
  lib/Transforms/Scalar/GVN.cpp
  lib/Transforms/Scalar/InferAddressSpaces.cpp
  lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  lib/Transforms/Scalar/LoopRerollPass.cpp
  lib/Transforms/Scalar/MemCpyOptimizer.cpp
  lib/Transforms/Scalar/NewGVN.cpp
  lib/Transforms/Scalar/SROA.cpp
  lib/Transforms/Utils/AddDiscriminators.cpp
  lib/Transforms/Utils/Evaluator.cpp
  lib/Transforms/Utils/GlobalStatus.cpp
  lib/Transforms/Utils/LowerMemIntrinsics.cpp
  lib/Transforms/Utils/VNCoercion.cpp
  lib/Transforms/Vectorize/SLPVectorizer.cpp
  test/Instrumentation/DataFlowSanitizer/unordered_atomic_mem_intrins.ll
  test/Instrumentation/MemorySanitizer/msan_basic.ll
  test/Transforms/InstCombine/element-atomic-memintrins.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38419.117200.patch
Type: text/x-patch
Size: 85083 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170929/0cad666a/attachment.bin>


More information about the llvm-commits mailing list