[llvm] r325986 - bpf: Support i32 in getScalarShiftAmountTy method
Yonghong Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 23 15:49:26 PST 2018
Author: yhs
Date: Fri Feb 23 15:49:26 2018
New Revision: 325986
URL: http://llvm.org/viewvc/llvm-project?rev=325986&view=rev
Log:
bpf: Support i32 in getScalarShiftAmountTy method
getScalarShiftAmount method should be implemented for eBPF backend to make
sure shift amount could still get correct type once 32-bit subregisters
support are enabled.
Signed-off-by: Jiong Wang <jiong.wang at netronome.com>
Reviewed-by: Yonghong Song <yhs at fb.com>
Modified:
llvm/trunk/lib/Target/BPF/BPFISelLowering.cpp
llvm/trunk/lib/Target/BPF/BPFISelLowering.h
Modified: llvm/trunk/lib/Target/BPF/BPFISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/BPF/BPFISelLowering.cpp?rev=325986&r1=325985&r2=325986&view=diff
==============================================================================
--- llvm/trunk/lib/Target/BPF/BPFISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/BPF/BPFISelLowering.cpp Fri Feb 23 15:49:26 2018
@@ -713,3 +713,8 @@ EVT BPFTargetLowering::getSetCCResultTyp
EVT VT) const {
return getHasAlu32() ? MVT::i32 : MVT::i64;
}
+
+MVT BPFTargetLowering::getScalarShiftAmountTy(const DataLayout &DL,
+ EVT VT) const {
+ return (getHasAlu32() && VT == MVT::i32) ? MVT::i32 : MVT::i64;
+}
Modified: llvm/trunk/lib/Target/BPF/BPFISelLowering.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/BPF/BPFISelLowering.h?rev=325986&r1=325985&r2=325986&view=diff
==============================================================================
--- llvm/trunk/lib/Target/BPF/BPFISelLowering.h (original)
+++ llvm/trunk/lib/Target/BPF/BPFISelLowering.h Fri Feb 23 15:49:26 2018
@@ -60,6 +60,8 @@ public:
EVT getSetCCResultType(const DataLayout &DL, LLVMContext &Context,
EVT VT) const override;
+ MVT getScalarShiftAmountTy(const DataLayout &, EVT) const override;
+
private:
// Control Instruction Selection Features
bool HasAlu32;
More information about the llvm-commits
mailing list