Merge branch 'bpf-llvm-reg-alloc-patterns'
authorDaniel Borkmann <daniel@iogearbox.net>
Fri, 9 Oct 2020 20:03:06 +0000 (22:03 +0200)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 9 Oct 2020 20:03:41 +0000 (22:03 +0200)
commitac53a0d3107c6582b690a8ab348bd637dbd0883f
tree0ca9c625a6c5ef0e8b35c329a06535a97af8a3bc
parenteca43ee6c46db92dd850ce659316b0680d70e137
parent54fada41e8a162a45ab13ac4f76af609733d4679
Merge branch 'bpf-llvm-reg-alloc-patterns'

Alexei Starovoitov says:

====================
Make two verifier improvements:

- The llvm register allocator may use two different registers representing
  the same virtual register. Teach the verifier to recognize that.
- Track bounded scalar spill/fill.

The profiler[123] test in patch 3 will fail to load without patches 1 and 2.
The profiler[23] test may fail to load on older llvm due to speculative
code motion nd instruction combining optimizations that are fixed in
https://reviews.llvm.org/D85570

v1 -> v2:
  - fixed 32-bit mov issue spotted by John.
  - allowed r2=r1; r3=r2; sequence as suggested by John.
  - added comments, acks, more tests.
====================

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>