[PATCH] D61314: [SCCP] Remove forcedconstant, go to overdefined instead

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 24 12:48:13 PST 2020


efriedma added a comment.

> presumably because we skip incoming values from unreachable blocks in PHIs

That doesn't make any sense.  We should skip incoming values from unreachable blocks no matter what they contain. I assume the significant difference between the two approaches is that one is special-casing merging undef and a constant.

I'm curious about two other possibilities:

1. Use overdefined for undef constants, but add a special case for PHI nodes with a literal "undef" operand.
2. Treat undef as if it were an opaque constant, like a constant expression you can't analyze, instead of going straight to overdefined, then again add a special case for PHI nodes with a constant undef operand.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D61314/new/

https://reviews.llvm.org/D61314





More information about the llvm-commits mailing list