[llvm-dev] Which optimization pass deals with heap values?

Russell Wallace via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 17 00:07:56 PST 2022


All the optimization passes I can find in the documentation, deal with
register, stack or global values; I cannot find any mention of anything
trying to optimize values on the heap. But this:

#include <stdlib.h>

int main(int argc, char **argv) {
  int *a = malloc(10 * sizeof(int));
  for (int i = 0; i < 10; i++)
    a[i] = i;
  return a[5];
}

compiles to 'ret 5' (as it should). Which pass does that?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20220117/1ff82f5c/attachment.html>


More information about the llvm-dev mailing list