]> granicus.if.org Git - llvm/commit
Add a late IR expansion pass for the experimental reduction intrinsics.
authorAmara Emerson <amara.emerson@arm.com>
Wed, 10 May 2017 09:42:49 +0000 (09:42 +0000)
committerAmara Emerson <amara.emerson@arm.com>
Wed, 10 May 2017 09:42:49 +0000 (09:42 +0000)
commit0dd30f878bb418c331563dd1b206fae8f6910609
tree72f3c6a63a2e1ef5f16001e6723b0edad9e68caa
parenta2ef53afc07ba3a0503361765506b2e4be3c9d0c
Add a late IR expansion pass for the experimental reduction intrinsics.

This pass uses a new target hook to decide whether or not to expand a particular
intrinsic to the shuffevector sequence.

Differential Revision: https://reviews.llvm.org/D32245

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302631 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
include/llvm/Analysis/TargetTransformInfo.h
include/llvm/Analysis/TargetTransformInfoImpl.h
include/llvm/CodeGen/ExpandReductions.h [new file with mode: 0644]
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
include/llvm/Transforms/Utils/LoopUtils.h
lib/Analysis/TargetTransformInfo.cpp
lib/CodeGen/CMakeLists.txt
lib/CodeGen/ExpandReductions.cpp [new file with mode: 0644]
lib/CodeGen/TargetPassConfig.cpp
lib/Target/AArch64/AArch64TargetTransformInfo.h
lib/Transforms/Utils/LoopUtils.cpp
test/CodeGen/Generic/expand-experimental-reductions.ll [new file with mode: 0644]
test/CodeGen/X86/O0-pipeline.ll
tools/llc/llc.cpp
tools/opt/opt.cpp