diff options
| author | Craig Topper <craig.topper@gmail.com> | 2016-04-23 02:49:25 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2016-04-23 02:49:25 +0000 |
| commit | b297b6b0c930771067170ebd966fbe293899c0c2 (patch) | |
| tree | 6c900181e34e0c6466fdfede25eb81145b22d2b9 /llvm/lib/Target/WebAssembly | |
| parent | 70e2766fb4fcca4ab232fd924d2425921539bd74 (diff) | |
| download | bcm5719-llvm-b297b6b0c930771067170ebd966fbe293899c0c2.tar.gz bcm5719-llvm-b297b6b0c930771067170ebd966fbe293899c0c2.zip | |
[WebAssembly] Set ctlz_zero_undef/cttz_zero_undef to Expand so LegalizeDAG will convert them to ctlz/cttz. Remove the now unneccessary isel patterns. NFC
llvm-svn: 267264
Diffstat (limited to 'llvm/lib/Target/WebAssembly')
| -rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td | 6 |
2 files changed, 1 insertions, 7 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp index 4839a324214..dadd3125c70 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp @@ -97,7 +97,7 @@ WebAssemblyTargetLowering::WebAssemblyTargetLowering( {ISD::BSWAP, ISD::SMUL_LOHI, ISD::UMUL_LOHI, ISD::MULHS, ISD::MULHU, ISD::SDIVREM, ISD::UDIVREM, ISD::SHL_PARTS, ISD::SRA_PARTS, ISD::SRL_PARTS, ISD::ADDC, ISD::ADDE, ISD::SUBC, - ISD::SUBE}) { + ISD::SUBE, ISD::CTLZ_ZERO_UNDEF, ISD::CTTZ_ZERO_UNDEF}) { setOperationAction(Op, T, Expand); } } diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td index a597ac950a8..7eaa57bb217 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td +++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td @@ -65,12 +65,6 @@ def EQZ_I64 : I<(outs I32:$dst), (ins I64:$src), } // Defs = [ARGUMENTS] -// Expand the "don't care" operations to supported operations. -def : Pat<(ctlz_zero_undef I32:$src), (CLZ_I32 I32:$src)>; -def : Pat<(ctlz_zero_undef I64:$src), (CLZ_I64 I64:$src)>; -def : Pat<(cttz_zero_undef I32:$src), (CTZ_I32 I32:$src)>; -def : Pat<(cttz_zero_undef I64:$src), (CTZ_I64 I64:$src)>; - // Optimize away an explicit mask on a rotate count. def : Pat<(rotl I32:$lhs, (and I32:$rhs, 31)), (ROTL_I32 I32:$lhs, I32:$rhs)>; def : Pat<(rotr I32:$lhs, (and I32:$rhs, 31)), (ROTR_I32 I32:$lhs, I32:$rhs)>; |

