From: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Date: Thu, 17 Sep 2015 22:18:08 +0000 (+0000)
Subject: [bpf] expand indirect branches
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7f61c22d4194e57cf42b15073b303f43a23a5b93;p=oota-llvm.git

[bpf] expand indirect branches

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
---

diff --git a/lib/Target/BPF/BPFISelLowering.cpp b/lib/Target/BPF/BPFISelLowering.cpp
index 58498a1aec7..42e2b3f32c0 100644
--- a/lib/Target/BPF/BPFISelLowering.cpp
+++ b/lib/Target/BPF/BPFISelLowering.cpp
@@ -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);