diff options
author | Yonghong Song <yhs@fb.com> | 2018-01-16 07:27:19 +0000 |
---|---|---|
committer | Yonghong Song <yhs@fb.com> | 2018-01-16 07:27:19 +0000 |
commit | b42c7c7863274e211cea86586d088ef27af0383e (patch) | |
tree | 0792c1df733e60010e589cb65c9102eaf07b155e /llvm/unittests/ADT/ArrayRefTest.cpp | |
parent | 99a8faa6153a1009c17e2b11290828e48e1ea706 (diff) | |
download | llvm-b42c7c7863274e211cea86586d088ef27af0383e.zip llvm-b42c7c7863274e211cea86586d088ef27af0383e.tar.gz llvm-b42c7c7863274e211cea86586d088ef27af0383e.tar.bz2 |
[BPF] Teach DAG2DAG AND elimination about load intrinsics
As commented on the existing code:
// The Reg operand should be a virtual register, which is defined
// outside the current basic block. DAG combiner has done a pretty
// good job in removing truncating inside a single basic block.
However, when the Reg operand comes from bpf_load_[byte | half | word]
intrinsics, the generic optimizer doesn't understand their results are
zero extended, so these single basic block elimination opportunities were
missed.
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Jiong Wang <jiong.wang@netronome.com>
llvm-svn: 322534
Diffstat (limited to 'llvm/unittests/ADT/ArrayRefTest.cpp')
0 files changed, 0 insertions, 0 deletions