[PATCH] D63036: [RFC] LLVM IR constant expressions never trap.

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 11 22:13:58 PDT 2019


jdoerfert added a comment.

Is this still an RFC or by now an accumulation of changes we actually want to make? I added to comments assuming the latter.



================
Comment at: lib/IR/Constants.cpp:2966
-  ArrayRef<Value*> Ops(ValueOperands);
-
   switch (getOpcode()) {
----------------
This can be reasonably separated or you could probably work with the `ValueOperands` or `Ops` array. At least I don't (immediately) see that we need to keep this connected to the RFC patch.


================
Comment at: test/Transforms/LoopVectorize/X86/masked_load_store.ll:1505
 
-; The loop here should not be vectorized due to trapping
-; constant expression
+; The semantics of IR have changed so constant expressions never trap; check
+; that we perform the transform consistently.
----------------
I'm unsure about the sentence that talks about history. I think I'd prefer a statement about the semantic we have, thus, "constant expressions never trap, check ...". But I don't feel strongly about this.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D63036





More information about the llvm-commits mailing list