diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Target/TargetLowering.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 46d860c3c2..3a7053f288 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -413,6 +413,15 @@ public: getOperationAction(Op, VT) == Custom); } + /// isOperationLegalOrPromote - Return true if the specified operation is + /// legal on this target or can be made legal using promotion. This + /// is used to help guide high-level lowering decisions. + bool isOperationLegalOrPromote(unsigned Op, EVT VT) const { + return (VT == MVT::Other || isTypeLegal(VT)) && + (getOperationAction(Op, VT) == Legal || + getOperationAction(Op, VT) == Promote); + } + /// isOperationExpand - Return true if the specified operation is illegal on /// this target or unlikely to be made legal with custom lowering. This is /// used to help guide high-level lowering decisions. |