llvm /
llvm /
13419c122c851fd9908e373c13e71e304e3fa96f [DAGCombiner] prevent infinite looping by truncating 'and' (PR40793)
This fold can occur during legalization, so it can fight with promotion
to the larger type. It apparently takes a special sequence and subtarget
to avoid more basic simplifications that would hide the problem.
But there's a bigger question raised here: why does distributeTruncateThroughAnd()
even exist? It duplicates functionality from a more minimal pattern that we
already have. But getting rid of this function requires some preliminary steps.
https://bugs.llvm.org/show_bug.cgi?id=40793
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354594 91177308-0d34-0410-b5e6-96231b3b80d8
2 files changed