OSDN Git Service

[CodeGen] Emit more precise AssertZext/AssertSext nodes.
authorEli Friedman <efriedma@codeaurora.org>
Wed, 11 Jul 2018 23:26:35 +0000 (23:26 +0000)
committerEli Friedman <efriedma@codeaurora.org>
Wed, 11 Jul 2018 23:26:35 +0000 (23:26 +0000)
commit87c3b54a36280798828e43f4d4bde0fc3b70482a
tree4fe5fbd9e5997b9573db3299dad87fe17b0d9c9b
parent99a2c222c24aee6f7d84f9e8422c6ccdb91972dd
[CodeGen] Emit more precise AssertZext/AssertSext nodes.

This is marginally helpful for removing redundant extensions, and the
code is easier to read, so it seems like an all-around win. In the new
test i8-phi-ext.ll, we used to emit an AssertSext i8; now we emit an
AssertZext i2, which allows the extension of the return value to be
eliminated.

Differential Revision: https://reviews.llvm.org/D49004

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336868 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/Target/Hexagon/HexagonISelLowering.cpp
test/CodeGen/AMDGPU/frame-index-elimination.ll
test/CodeGen/Thumb/i8-phi-ext.ll [new file with mode: 0644]
test/CodeGen/X86/pr32282.ll