1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00
Roman Lebedev f8c34dee2f [DAGCombine][X86][Thumb2/LowOverheadLoops] A - (A & C) -> A & (~C) fold (PR44448)
While we do manage to fold integer-typed IR in middle-end,
we can't do that for the main motivational case of pointers.

There is @llvm.ptrmask() intrinsic which may or may not be helpful,
but i'm not sure it is fully considered canonical yet,
not everything is fully aware of it likely.

Name: PR44448  ptr - (ptr & C) -> ptr & (~C)
%bias = and i32 %ptr, C
%r = sub i32 %ptr, %bias
  =>
%r = and i32 %ptr, ~C

See
  https://bugs.llvm.org/show_bug.cgi?id=44448
  https://reviews.llvm.org/D71499
2020-01-03 17:55:45 +03:00
..
2019-09-17 14:21:36 +00:00
2019-06-17 09:13:29 +00:00
2019-06-28 08:41:40 +00:00
2019-08-08 15:15:19 +00:00
2019-06-28 07:08:42 +00:00
2019-09-16 15:19:49 +00:00
2019-08-28 10:13:23 +00:00
2019-08-28 10:13:23 +00:00
2019-08-28 10:13:23 +00:00
2019-08-28 10:13:23 +00:00
2019-07-15 18:42:54 +00:00
2019-09-19 12:17:41 +00:00
2019-09-16 13:02:41 +00:00
2019-09-16 13:02:41 +00:00
2019-12-30 12:58:14 +00:00
2019-08-28 10:13:23 +00:00
2019-08-28 10:13:23 +00:00
2019-07-15 18:42:54 +00:00
2019-08-28 10:13:23 +00:00
2019-12-02 10:38:14 +00:00
2019-12-08 10:37:29 +00:00
2019-10-14 15:19:33 +00:00
2019-06-17 09:13:29 +00:00
2019-01-10 08:36:33 +00:00
2019-07-27 18:44:15 +00:00
2019-11-20 13:58:38 +00:00
2019-11-25 11:29:14 +00:00