[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