commit | db850cf9f48b8912c66a5b6a64d9bb9368a4da35 | [log] [tgz] |
---|---|---|
author | Sanjay Patel <spatel@rotateright.com> | Tue Jan 02 20:56:45 2018 +0000 |
committer | Sanjay Patel <spatel@rotateright.com> | Tue Jan 02 20:56:45 2018 +0000 |
tree | 3e79bdd84973cc230ee1992ce99258310c412bac | |
parent | 6ae0f3914ef867dcfaf4cde7af2ff6e8875f81c4 [diff] |
[ValueTracking] recognize min/max of min/max patterns This is part of solving PR35717: https://bugs.llvm.org/show_bug.cgi?id=35717 The larger IR optimization is proposed in D41603, but we can show the improvement in ValueTracking using codegen tests because SelectionDAG creates min/max nodes based on ValueTracking. Any target with min/max ops should show wins here. I chose AArch64 vector ops because they're clean and uniform. Some Alive proofs for the tests (can't put more than 2 tests in 1 page currently because the web app says it's too long): https://rise4fun.com/Alive/WRN https://rise4fun.com/Alive/iPm https://rise4fun.com/Alive/HmY https://rise4fun.com/Alive/CNm https://rise4fun.com/Alive/LYf git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321672 91177308-0d34-0410-b5e6-96231b3b80d8