[PATCH] D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913)

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 19 14:27:35 PST 2020


efriedma added a comment.

I guess reasoning about inline asm directly while we don't have call attributes that allow equivalent reasoning makes sense.  Sort of serves as a demonstration for why the attributes are useful.  But you'll need to be *very* careful that we're actually specifying and implementing it properly.  LangRef needs to clearly state the rules, and we need a bunch of tests to compare various combinations against gcc.

I assume you're aware this is missing a lot of logic that's necessary for correctness.



================
Comment at: llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp:320
+  }
+  for (auto V : Outputs) {
+    int Size = DL.getTypeStoreSize(V->getType());
----------------
Iterating over a SmallSet of pointers is non-deterministic.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74853/new/

https://reviews.llvm.org/D74853





More information about the llvm-commits mailing list