[PATCH] D32331: Hoist loads known to be in bounds of allocations

Sanjoy Das via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 20 18:23:28 PDT 2017


sanjoy added inline comments.


================
Comment at: lib/Analysis/Loads.cpp:123
+  Opts.EvalMode = ObjectSizeOpts::Mode::Min;
+  if (getObjectSize(V, ObjSize, DL, nullptr, Opts) &&
+      Size.ule(ObjSize))
----------------
Does this work in the presence of `free`?  That is:

```
char *ptr = malloc(20)
free(ptr);
for (;;) {
  if (false)
    v = ptr[0];
}
```



https://reviews.llvm.org/D32331





More information about the llvm-commits mailing list