[bpf] expand indirect branches
authorAlexei Starovoitov <alexei.starovoitov@gmail.com>
Thu, 17 Sep 2015 22:18:08 +0000 (22:18 +0000)
committerAlexei Starovoitov <alexei.starovoitov@gmail.com>
Thu, 17 Sep 2015 22:18:08 +0000 (22:18 +0000)
BPF instruction set doesn't have indirect branches. Expand them.

Reported by John Fastabend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247951 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/BPF/BPFISelLowering.cpp

index 58498a1aec7d9eb284e5a46b08553cbc636fef79..42e2b3f32c0c0d1fbc4add2951a7d9f157b72385 100644 (file)
@@ -102,6 +102,7 @@ BPFTargetLowering::BPFTargetLowering(const TargetMachine &TM,
 
   setOperationAction(ISD::BR_CC, MVT::i64, Custom);
   setOperationAction(ISD::BR_JT, MVT::Other, Expand);
+  setOperationAction(ISD::BRIND, MVT::Other, Expand);
   setOperationAction(ISD::BRCOND, MVT::Other, Expand);
   setOperationAction(ISD::SETCC, MVT::i64, Expand);
   setOperationAction(ISD::SELECT, MVT::i64, Expand);