diff options
| author | Amara Emerson <aemerson@apple.com> | 2019-04-13 00:33:25 +0000 |
|---|---|---|
| committer | Amara Emerson <aemerson@apple.com> | 2019-04-13 00:33:25 +0000 |
| commit | 93e58d239667294e3699ff9b6aaa2ec0353b82fb (patch) | |
| tree | 7d4a2129edc3bd99c763982ff68272aa46ffc46b /llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp | |
| parent | 4614cc3dfd2b735ff9292c7867910219d509d970 (diff) | |
| download | bcm5719-llvm-93e58d239667294e3699ff9b6aaa2ec0353b82fb.tar.gz bcm5719-llvm-93e58d239667294e3699ff9b6aaa2ec0353b82fb.zip | |
[AArch64][GlobalISel] Enable copy elision in the pre-legalizer combine and fix a crash.
This enables the simple copy combine that already exists in the CombinerHelper.
However, it exposed a bug in the GISelChangeObserver where it wouldn't clear a
set of MIs to process, and so would end up causing a crash when deleted MIs were
being added to the combiner worklist again.
Differential Revision: https://reviews.llvm.org/D60579
llvm-svn: 358318
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp b/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp index cffe7dbfe66..fe8216a8d1f 100644 --- a/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp +++ b/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp @@ -43,6 +43,8 @@ bool AArch64PreLegalizerCombinerInfo::combine(GISelChangeObserver &Observer, switch (MI.getOpcode()) { default: return false; + case TargetOpcode::COPY: + return Helper.tryCombineCopy(MI); case TargetOpcode::G_LOAD: case TargetOpcode::G_SEXTLOAD: case TargetOpcode::G_ZEXTLOAD: |

