llvm-project/llvm/test/CodeGen/BPF
Yonghong Song 6621cf67cf bpf: fix bug on silently truncating 64-bit immediate
We came across an llvm bug when compiling some testcases that 64-bit
immediates are silently truncated into 32-bit and then packed into
BPF_JMP | BPF_K encoding.  This caused comparison with wrong value.

This bug looks to be introduced by r308080.  The Select_Ri pattern is
supposed to be lowered into J*_Ri while the latter only support 32-bit
immediate encoding, therefore Select_Ri should have similar immediate
predicate check as what J*_Ri are doing.

Reported-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Jiong Wang <jiong.wang@netronome.com>
Reviewed-by: Yonghong Song <yhs@fb.com>
llvm-svn: 315889
2017-10-16 04:14:53 +00:00
..
alu8.ll convert bpf assembler to look like kernel verifier output 2016-11-18 02:32:35 +00:00
atomics.ll [bpf] add BPF disassembler 2016-11-20 02:25:00 +00:00
basictest.ll convert bpf assembler to look like kernel verifier output 2016-11-18 02:32:35 +00:00
byval.ll
cc_args.ll bpf: add " ll" in the LD_IMM64 asmstring 2017-09-11 23:43:35 +00:00
cc_args_be.ll bpf: add " ll" in the LD_IMM64 asmstring 2017-09-11 23:43:35 +00:00
cc_ret.ll bpf: add " ll" in the LD_IMM64 asmstring 2017-09-11 23:43:35 +00:00
cmp.ll convert bpf assembler to look like kernel verifier output 2016-11-18 02:32:35 +00:00
dwarfdump.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
ex1.ll bpf: add " ll" in the LD_IMM64 asmstring 2017-09-11 23:43:35 +00:00
fi_ri.ll [bpf] error when unknown bpf helper is called 2017-01-17 07:26:17 +00:00
inline_asm.ll bpf: add inline-asm support 2017-09-18 23:29:36 +00:00
intrinsics.ll bpf: add new insns for bswap_to_le and negation 2017-09-28 02:46:11 +00:00
lit.local.cfg
load.ll convert bpf assembler to look like kernel verifier output 2016-11-18 02:32:35 +00:00
loops.ll convert bpf assembler to look like kernel verifier output 2016-11-18 02:32:35 +00:00
many_args1.ll
many_args2.ll
mem_offset.ll [bpf] Fix memory offset check for loads and stores 2017-04-13 22:24:13 +00:00
mem_offset_be.ll bpf: add " ll" in the LD_IMM64 asmstring 2017-09-11 23:43:35 +00:00
objdump_atomics.ll [bpf] add BPF disassembler 2016-11-20 02:25:00 +00:00
objdump_intrinsics.ll bpf: add new insns for bswap_to_le and negation 2017-09-28 02:46:11 +00:00
objdump_trivial.ll [bpf] error when unknown bpf helper is called 2017-01-17 07:26:17 +00:00
reloc.ll [bpf] add relocation support 2017-05-03 17:30:56 +00:00
remove_truncate_1.ll bpf: remove unnecessary truncate operation 2017-06-29 15:18:54 +00:00
remove_truncate_2.ll bpf: remove unnecessary truncate operation 2017-06-29 15:18:54 +00:00
rodata_1.ll bpf: fix test failures due to previous bpf change of assembly code syntax 2017-09-09 00:11:13 +00:00
rodata_2.ll bpf: fix test failures due to previous bpf change of assembly code syntax 2017-09-09 00:11:13 +00:00
rodata_3.ll bpf: avoid load from read-only sections 2017-06-16 15:41:16 +00:00
rodata_4.ll bpf: avoid load from read-only sections 2017-06-16 15:41:16 +00:00
sanity.ll bpf: add " ll" in the LD_IMM64 asmstring 2017-09-11 23:43:35 +00:00
sdiv_error.ll
select_ri.ll bpf: fix bug on silently truncating 64-bit immediate 2017-10-16 04:14:53 +00:00
setcc.ll bpf: add variants of -mcpu=# and support for additional jmp insns 2017-08-23 04:25:57 +00:00
shifts.ll convert bpf assembler to look like kernel verifier output 2016-11-18 02:32:35 +00:00
sockex2.ll convert bpf assembler to look like kernel verifier output 2016-11-18 02:32:35 +00:00
struct_ret1.ll
struct_ret2.ll
undef.ll bpf: fix test failures due to previous bpf change of assembly code syntax 2017-09-09 00:11:13 +00:00
vararg1.ll
warn-call.ll [bpf] error when unknown bpf helper is called 2017-01-17 07:26:17 +00:00
warn-stack.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00