6 Commits

Author SHA1 Message Date
Nikita Popov
963a2ebef8 [JumpThreading] Regenerate test checks (NFC) 2024-01-09 15:09:17 +01:00
Matt Arsenault
07e34d2de5 JumpThreading: Convert tests to -passes 2022-11-27 11:19:28 -05:00
Matt Arsenault
83d5052768 JumpThreading: Convert tests to opaque pointers
phi-known.ll:test2 required deleting one manual check for a bitcast

Also strip trailing whitespace while we're touching everything.
2022-11-27 11:19:28 -05:00
Philip Reames
e64ed3c8df [test] autogen a couple of additional tests 2021-10-05 18:58:08 -07:00
Sanjay Patel
9d6d24c250 [JumpThreading][VectorUtils] avoid infinite loop on unreachable IR
https://llvm.org/PR48362

It's possible that we could stub this out sooner somewhere
within JumpThreading, but I'm not sure how to do that, and
then we would still have potential danger in other callers.

I can't find a way to trigger this using 'instsimplify',
however, because that already has a bailout on unreachable
blocks.
2020-12-02 13:39:33 -05:00
Wei Mi
55a68a2400 [JumpThreading] Stop searching predecessor when the current bb is in a
unreachable loop.

updatePredecessorProfileMetadata in jumpthreading tries to find the
first dominating predecessor block for a PHI value by searching upwards
the predecessor block chain.

But jumpthreading may see some temporary IR state which contains
unreachable bb not being cleaned up. If an unreachable loop happens to
be on the predecessor block chain, keeping chasing the predecessor
block will run into an infinite loop.

The patch fixes it.

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

llvm-svn: 367154
2019-07-26 20:59:22 +00:00