]> granicus.if.org Git - llvm/commit
Merging r330186:
authorTom Stellard <tstellar@redhat.com>
Tue, 8 May 2018 02:41:23 +0000 (02:41 +0000)
committerTom Stellard <tstellar@redhat.com>
Tue, 8 May 2018 02:41:23 +0000 (02:41 +0000)
commit56c31e605ad0060bd1282a9dc247c181057bdad1
tree59eec1a1ad273e790257e9046b4ca06f08becc6e
parent2a631a2192ad362107d5b84561b3391486fe9a80
Merging r330186:

------------------------------------------------------------------------
r330186 | nemanjai | 2018-04-17 06:07:01 -0700 (Tue, 17 Apr 2018) | 11 lines

[PowerPC] Mark the BDNZ intrinsic as NoDuplicate

Duplicating this intrinsic is not generally valid because it has the side-effect
of decrementing the CTR. Any passes that duplicate it would need to be taught to
keep the regions formed completely disjoint.
This patch should be NFC for typical uses as CTRLoops runs after the remaining
loop passes. It only affects situations where the loop passes are scheduled on
the IR after the codegen passes (as is the case with some JIT pipelines).

Fixes https://bugs.llvm.org/show_bug.cgi?id=37050

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_60@331716 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/IntrinsicsPowerPC.td
test/CodeGen/PowerPC/no-dup-of-bdnz.ll [new file with mode: 0644]