diff options
| author | Evandro Menezes <e.menezes@samsung.com> | 2018-12-19 22:24:36 +0000 |
|---|---|---|
| committer | Evandro Menezes <e.menezes@samsung.com> | 2018-12-19 22:24:36 +0000 |
| commit | 374ccf676847f3288f6731a05735af6ea997a22c (patch) | |
| tree | da08f98b68eeba82fbfcc67d9b4c53071bc5c2b8 | |
| parent | ff827d737aa6c3a1bb62fb8767c5b4903bfc85b4 (diff) | |
| download | bcm5719-llvm-374ccf676847f3288f6731a05735af6ea997a22c.tar.gz bcm5719-llvm-374ccf676847f3288f6731a05735af6ea997a22c.zip | |
[AArch64] Improve Exynos predicates
Expand the predicate `ExynosResetPred` to include all forms of immediate
moves.
llvm-svn: 349686
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64SchedPredExynos.td | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td b/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td index f8533d18022..967245bcba4 100644 --- a/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td +++ b/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td @@ -88,12 +88,19 @@ def ExynosResetFn : TIIPredicate< [ADR, ADRP, MOVNWi, MOVNXi, MOVZWi, MOVZXi], - MCReturnStatement<TruePred>>], + MCReturnStatement<TruePred>>, + MCOpcodeSwitchCase< + [ORRWri, ORRXri], + MCReturnStatement< + CheckAll< + [CheckIsRegOperand<1>, + CheckAny< + [CheckRegOperand<1, WZR>, + CheckRegOperand<1, XZR>]>]>>>], MCReturnStatement< CheckAny< [IsCopyIdiomFn, - IsZeroFPIdiomFn, - IsZeroIdiomFn]>>>>; + IsZeroFPIdiomFn]>>>>; def ExynosResetPred : MCSchedPredicate<ExynosResetFn>; // Identify EXTR as the alias for ROR (immediate). |

