diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-12-06 18:38:34 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-12-06 18:38:34 +0000 |
| commit | f50f2f3d3268b016c9940adabcadc1e8378303b5 (patch) | |
| tree | 9c3b23ade4142aedc5ce2858ebafb8ee78574062 /llvm/lib/CodeGen | |
| parent | 405e25cd6a109551ce483272e16e2095bdb355f6 (diff) | |
| download | bcm5719-llvm-f50f2f3d3268b016c9940adabcadc1e8378303b5.tar.gz bcm5719-llvm-f50f2f3d3268b016c9940adabcadc1e8378303b5.zip | |
GlobalISel: allow G_SELECT instructions for pointers.
llvm-svn: 288835
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp index 69ce5033982..d46dd9f6b8f 100644 --- a/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp +++ b/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp @@ -392,11 +392,12 @@ MachineInstrBuilder MachineIRBuilder::buildFCmp(CmpInst::Predicate Pred, MachineInstrBuilder MachineIRBuilder::buildSelect(unsigned Res, unsigned Tst, unsigned Op0, unsigned Op1) { #ifndef NDEBUG - assert((MRI->getType(Res).isScalar() || MRI->getType(Res).isVector()) && + LLT ResTy = MRI->getType(Res); + assert((ResTy.isScalar() || ResTy.isVector() || ResTy.isPointer()) && "invalid operand type"); - assert(MRI->getType(Res) == MRI->getType(Op0) && - MRI->getType(Res) == MRI->getType(Op1) && "type mismatch"); - if (MRI->getType(Res).isScalar()) + assert(ResTy == MRI->getType(Op0) && ResTy == MRI->getType(Op1) && + "type mismatch"); + if (ResTy.isScalar() || ResTy.isPointer()) assert(MRI->getType(Tst).isScalar() && "type mismatch"); else assert(MRI->getType(Tst).isVector() && |

