[PATCH] D29400: [ImplicitNullCheck] Extend Implicit Null Check scope by using stores
Serguei Katkov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 6 19:20:52 PST 2017
skatkov added a comment.
Thank you, for review. I will update a change.
================
Comment at: include/llvm/CodeGen/FaultMaps.h:29
public:
- enum FaultKind { FaultingLoad = 1, FaultKindMax };
+ enum FaultKind { FaultingLoad = 1, FaultingStore, FaultKindMax };
----------------
sanjoy wrote:
> I found the earlier classification system better, with a third `FaultingLoadStore` category. Right now we don't have a place to put `addq (%rax), %rbx` type instructions, which both load and store.
I considered that for that kind of instruction we first read and failed on this :) But ok, I will return it back.
================
Comment at: lib/CodeGen/ImplicitNullChecks.cpp:308
+
+ SeenLoad = SeenLoad || MI.mayLoad();
+
----------------
sanjoy wrote:
> How about `SeenLoad |= MI.mayLoad()`?
Sanjoy, as I understand in my case mayLoad will be einvoked only if SeenLoad == false, in |= form mayLoad will be invoked always and there is no ||= operator.
https://reviews.llvm.org/D29400
More information about the llvm-commits
mailing list