diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2017-02-07 19:19:49 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2017-02-07 19:19:49 +0000 |
commit | 2f63cbcc0c508c502e1f59cd911a36f73d1c460a (patch) | |
tree | 922f8ec26ff5fdcd0b29a58cda5655b363933aad /llvm/lib/CodeGen/FaultMaps.cpp | |
parent | ef6d573f67466494fd65dfce650908043527da37 (diff) | |
download | bcm5719-llvm-2f63cbcc0c508c502e1f59cd911a36f73d1c460a.tar.gz bcm5719-llvm-2f63cbcc0c508c502e1f59cd911a36f73d1c460a.zip |
[ImplicitNullCheck] Extend Implicit Null Check scope by using stores
Summary:
This change allows usage of store instruction for implicit null check.
Memory Aliasing Analisys is not used and change conservatively supposes
that any store and load may access the same memory. As a result
re-ordering of store-store, store-load and load-store is prohibited.
Patch by Serguei Katkov!
Reviewers: reames, sanjoy
Reviewed By: sanjoy
Subscribers: atrick, llvm-commits
Differential Revision: https://reviews.llvm.org/D29400
llvm-svn: 294338
Diffstat (limited to 'llvm/lib/CodeGen/FaultMaps.cpp')
-rw-r--r-- | llvm/lib/CodeGen/FaultMaps.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/FaultMaps.cpp b/llvm/lib/CodeGen/FaultMaps.cpp index 2acafafdb9f..374d6c7136a 100644 --- a/llvm/lib/CodeGen/FaultMaps.cpp +++ b/llvm/lib/CodeGen/FaultMaps.cpp @@ -110,6 +110,10 @@ const char *FaultMaps::faultTypeToString(FaultMaps::FaultKind FT) { case FaultMaps::FaultingLoad: return "FaultingLoad"; + case FaultMaps::FaultingLoadStore: + return "FaultingLoadStore"; + case FaultMaps::FaultingStore: + return "FaultingStore"; } } |