]> granicus.if.org Git - llvm/commit
TargetInstrInfo: Change duplicate() to work on bundles.
authorMatthias Braun <matze@braunis.de>
Tue, 22 Aug 2017 23:56:30 +0000 (23:56 +0000)
committerMatthias Braun <matze@braunis.de>
Tue, 22 Aug 2017 23:56:30 +0000 (23:56 +0000)
commit18f24452daf410bbdb26e8a47a403f64675b00c5
treef88f6356fdbd711a83b6dd12f4369c502db82d64
parent31bf47e949eab84de424ae2f3b6ec70b678a61a8
TargetInstrInfo: Change duplicate() to work on bundles.

Adds infrastructure to clone whole instruction bundles rather than just
single instructions. This fixes a bug where tail duplication would
unbundle instructions while cloning.

This should unbreak the "Clang Stage 1: cmake, RA, with expensive checks
enabled" build on greendragon. The bot broke with r311139 hitting this
pre-existing bug.

A proper testcase will come next.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311511 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/MachineFunction.h
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/MachineFunction.cpp
lib/CodeGen/TailDuplicator.cpp
lib/CodeGen/TargetInstrInfo.cpp
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMBaseInstrInfo.h