diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2019-02-21 16:01:48 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2019-02-21 16:01:48 +0000 |
| commit | ba5ee817e9b54bbe343fc4ac94022f7ab603fcd8 (patch) | |
| tree | c31b9a640a0ff85d4b2161a6dde2d9777eafad54 /llvm/lib/Object/Object.cpp | |
| parent | 16d3e1a4d20ace1d4ba7327dab9873a11348795a (diff) | |
| download | bcm5719-llvm-ba5ee817e9b54bbe343fc4ac94022f7ab603fcd8.tar.gz bcm5719-llvm-ba5ee817e9b54bbe343fc4ac94022f7ab603fcd8.zip | |
[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
llvm-svn: 354594
Diffstat (limited to 'llvm/lib/Object/Object.cpp')
0 files changed, 0 insertions, 0 deletions

