Go to file
Yonghong Song 59fc805c7e bpf: Support condition comparison on i32
We need to support condition comparison on i32. All these comparisons are
supposed to be combined into BPF_J* instructions which only support i64.

For ISD::BR_CC we need to promote it to i64 first, then do custom lowering.

For ISD::SET_CC, just expand to SELECT_CC like what's been done for i64.

For ISD::SELECT_CC, we also want to do custom lower for i32. However, after
32-bit subregister support enabled, it is possible the comparison operands
are i32 while the selected value are i64, or the comparison operands are
i64 while the selected value are i32. We need to define extra instruction
pattern and support them in custom instruction inserter.

Signed-off-by: Jiong Wang <jiong.wang@netronome.com>
Reviewed-by: Yonghong Song <yhs@fb.com>
llvm-svn: 325985
2018-02-23 23:49:25 +00:00
clang [CFG] Try to narrow down MSVC compiler crash via binary search. 2018-02-23 23:38:41 +00:00
clang-tools-extra [clangd] BindWithForward -> Bind. NFC 2018-02-23 07:54:17 +00:00
compiler-rt [libFuzzer] Include TEMP_MAX_LEN in Fuzzer::PrintStats. 2018-02-22 19:00:17 +00:00
debuginfo-tests [Darwin] Add a test to make sure clang emits __apple accelerator tables. 2018-02-23 18:04:55 +00:00
libclc utils: Adapt to llvm r325155 2018-02-23 07:37:03 +00:00
libcxx Allow passing additional compiler/linker flags for the tests 2018-02-23 15:19:48 +00:00
libcxxabi [demangler] Support for exception specifications on function types. 2018-02-14 01:08:20 +00:00
libunwind [cmake] [libunwind] LLVM_FOUND isn't always set, so just test if 2018-01-27 19:31:44 +00:00
lld [ELF] Fix IsPreemptible comment and typo. NFC 2018-02-23 21:57:49 +00:00
lldb Fix a compiler warning in ModuleCacheTest.cpp, NFC 2018-02-23 23:18:27 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm bpf: Support condition comparison on i32 2018-02-23 23:49:25 +00:00
openmp [OMPT] Fix parallel_data in implicit barrier-end 2018-02-23 16:46:25 +00:00
parallel-libs
polly Use isl::manage_copy to simplify calls to isl::manage(isl_.._copy()) 2018-02-20 07:26:58 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.