diff options
| author | Alexei Starovoitov <alexei.starovoitov@gmail.com> | 2015-06-04 19:15:05 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <alexei.starovoitov@gmail.com> | 2015-06-04 19:15:05 +0000 |
| commit | 310deada107208511c1199d0580b9e3cdfbb45ca (patch) | |
| tree | 0935bc73294e4addf7f01991c0db460bb3055293 /llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp | |
| parent | 9ac8a6b13d998968226fdefb58ebd37eb3620ceb (diff) | |
| download | bcm5719-llvm-310deada107208511c1199d0580b9e3cdfbb45ca.tar.gz bcm5719-llvm-310deada107208511c1199d0580b9e3cdfbb45ca.zip | |
[bpf] add big- and host- endian support
Summary:
-march=bpf -> host endian
-march=bpf_le -> little endian
-match=bpf_be -> big endian
Test Plan:
v1 was tested by IBM s390 guys and appears to be working there.
It bit rots too fast here.
Reviewers: chandlerc, tstellarAMD
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10177
llvm-svn: 239071
Diffstat (limited to 'llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp b/llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp index 87716e6775c..406165bca1e 100644 --- a/llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp +++ b/llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp @@ -11,8 +11,18 @@ #include "llvm/Support/TargetRegistry.h" using namespace llvm; -Target llvm::TheBPFTarget; +namespace llvm { +Target TheBPFleTarget; +Target TheBPFbeTarget; +Target TheBPFTarget; +} extern "C" void LLVMInitializeBPFTargetInfo() { - RegisterTarget<Triple::bpf, /*HasJIT=*/true> X(TheBPFTarget, "bpf", "BPF"); + TargetRegistry::RegisterTarget(TheBPFTarget, "bpf", + "BPF (host endian)", + [](Triple::ArchType) { return false; }, true); + RegisterTarget<Triple::bpf_le, /*HasJIT=*/true> X( + TheBPFleTarget, "bpf_le", "BPF (little endian)"); + RegisterTarget<Triple::bpf_be, /*HasJIT=*/true> Y( + TheBPFbeTarget, "bpf_be", "BPF (big endian)"); } |

