forked from OSchip/llvm-project
[SimplifyLibCalls] Adjust code comment in optimizeStringLength. NFC
The limitation in LibCallSimplifier::optimizeStringLength to only
optimize when the string is an i8 array was changed already in
commit 50ec0b5dce
back in 2017.
We still only simplify when 's' points at an array of 'CharSize', so
the comment is still valid in the sense that we do not support
arbitrary array types.
Differential Revision: https://reviews.llvm.org/D135261
This commit is contained in:
parent
3d6c63d413
commit
0db4b1d1a8
|
@ -927,9 +927,9 @@ Value *LibCallSimplifier::optimizeStringLength(CallInst *CI, IRBuilderBase &B,
|
|||
// strlen(s + x) to strlen(s) - x, when x is known to be in the range
|
||||
// [0, strlen(s)] or the string has a single null terminator '\0' at the end.
|
||||
// We only try to simplify strlen when the pointer s points to an array
|
||||
// of i8. Otherwise, we would need to scale the offset x before doing the
|
||||
// subtraction. This will make the optimization more complex, and it's not
|
||||
// very useful because calling strlen for a pointer of other types is
|
||||
// of CharSize elements. Otherwise, we would need to scale the offset x before
|
||||
// doing the subtraction. This will make the optimization more complex, and
|
||||
// it's not very useful because calling strlen for a pointer of other types is
|
||||
// very uncommon.
|
||||
if (GEPOperator *GEP = dyn_cast<GEPOperator>(Src)) {
|
||||
// TODO: Handle subobjects.
|
||||
|
|
Loading…
Reference in New Issue