[SimplifyLibCalls] Adjust code comment in optimizeStringLength. NFC
authorBjorn Pettersson <bjorn.a.pettersson@ericsson.com>
Tue, 4 Oct 2022 18:57:29 +0000 (20:57 +0200)
committerBjorn Pettersson <bjorn.a.pettersson@ericsson.com>
Thu, 6 Oct 2022 18:00:27 +0000 (20:00 +0200)
The limitation in LibCallSimplifier::optimizeStringLength to only
optimize when the string is an i8 array was changed already in
commit 50ec0b5dceff1f3fe93 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

llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp

index be0912b..1b6d394 100644 (file)
@@ -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.