aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Basic/FileManagerTest.cpp
diff options
context:
space:
mode:
authorSam Parker <sam.parker@arm.com>2018-11-19 11:34:40 +0000
committerSam Parker <sam.parker@arm.com>2018-11-19 11:34:40 +0000
commite7c42dd7e2334c2dd04bbebabf92b40ed6b61031 (patch)
tree7d7e5f39255960f0c44e8c7f7aaf02eb6dd39f94 /clang/unittests/Basic/FileManagerTest.cpp
parent12c046fba0cb3ab6a654aaaffba75436aac55b34 (diff)
downloadllvm-e7c42dd7e2334c2dd04bbebabf92b40ed6b61031.zip
llvm-e7c42dd7e2334c2dd04bbebabf92b40ed6b61031.tar.gz
llvm-e7c42dd7e2334c2dd04bbebabf92b40ed6b61031.tar.bz2
[ARM] Remove trunc sinks in ARM CGP
Truncs are treated as sources if their produce a value of the same type as the one we currently trying to promote. Truncs used to be considered as a sink if their operand was the same value type. We now allow smaller types in the search, so we should search through truncs that produce a smaller value. These truncs can then be converted to an AND mask. This leaves sinks as being: - points where the value in the register is being observed, such as an icmp, switch or store. - points where value types have to match, such as calls and returns. - zext are included to ease the transformation and are generally removed later on. During this change, it also became apart from truncating sinks was broken: if a sink used a source, its type information had already been lost by the time the truncation happens. So I've changed the method of caching the type information. Differential Revision: https://reviews.llvm.org/D54515 llvm-svn: 347191
Diffstat (limited to 'clang/unittests/Basic/FileManagerTest.cpp')
0 files changed, 0 insertions, 0 deletions