[PATCH] D94180: [SimplifyCFG] Optimize CFG when null is passed to a function with nonnull argument
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 15 12:09:08 PST 2021
nikic added a comment.
Logic looks fine now, though the GEP handling can be made a bit more lax.
================
Comment at: llvm/lib/Transforms/Utils/SimplifyCFG.cpp:6572
if (GEP->getPointerOperand() == I)
- return passingValueIsAlwaysUndefined(V, GEP);
+ return passingValueIsAlwaysUndefined(V, GEP, true);
+
----------------
jdoerfert wrote:
> `/* IsUndef... */ true`
Could be more precise using something like:
```
if (!GEP->isInBounds() || !GEP->hasAllZeroIndices())
IsUndefFromGEP = true;
return passingValueIsAlwaysUndefined(V, GEP, IsUndefFromGEP);
```
Though that makes the naming even more awkward. @jdoerfert's suggestion of `PtrValueMayBeModified` would make more sense.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94180/new/
https://reviews.llvm.org/D94180
More information about the llvm-commits
mailing list