aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/CodeMetrics.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2020-04-04 15:07:28 -0400
committerMatt Arsenault <arsenm2@gmail.com>2020-05-09 16:14:32 -0400
commitee1a69824d9a9fceea2b51616c3363c4d210af4c (patch)
tree7bad17fde13e27758b6a049a13f1dee7dbec23b7 /llvm/lib/Analysis/CodeMetrics.cpp
parent16295d521e294b27106e51fac29957c1aac8ff89 (diff)
downloadllvm-ee1a69824d9a9fceea2b51616c3363c4d210af4c.zip
llvm-ee1a69824d9a9fceea2b51616c3363c4d210af4c.tar.gz
llvm-ee1a69824d9a9fceea2b51616c3363c4d210af4c.tar.bz2
GlobalISel: Combine G_UNMERGE_VALUES with G_TRUNC
G_BITCAST can be lowered with a pair of G_UNMERGE_VALUES and G_MERGE_VALUES with different types, but G_UNMERGE_VALUES of a vector can also be implemented with a bitcast to a scalar, which introduces the possibility for infinite loops. Try to eliminate an illegal source register type in the artifact combiner to avoid this from happening. Avoids infinite looping in the legalizer in a future patch which allows lowering G_UNMERGE_VALUES of a vector source with a G_BITCAST.
Diffstat (limited to 'llvm/lib/Analysis/CodeMetrics.cpp')
0 files changed, 0 insertions, 0 deletions