[Continued from D11826; sans 'writeonce' annotations.]
Ready to submit for review upstream, based on design doc review.
Please let me know if you see any red flag so far?
Paths
| Differential D13031
[Red Flag?] Generating invariant_start/end intrinsics. Needs ReviewPublic Authored by lvoufo on Sep 21 2015, 12:56 PM.
Details
Diff Detail Event Timelinelvoufo updated this object. Comment Actions This is pretty much it.
Comment Actions Add test cases for mutable fields, const references and pointers and (basic) inheritance. lvoufo updated this object. Comment ActionsAllow objects with mutable fields to be candidates for writeonce semantics; and specify writeonce candidates as trivial objects with no non-trivial method that may write to memory. lvoufo mentioned this in D13456: Generate invariant_start/end on passed by-value const arguments..Oct 5 2015, 7:39 PM lvoufo added a child revision: D13456: Generate invariant_start/end on passed by-value const arguments.. Comment Actions Some drive-by comments.
Comment Actions Good catches. I'll make sure to incorporate these observations in the initial patch.
Comment Actions Cool. Roger. Thanks!
lvoufo added a child revision: D13584: Extend const optimization logic from D13031 to member objects.Oct 9 2015, 4:16 AM Comment Actions Thanks for all the comments. All should be addressed with D13603.
Revision Contents
Diff 36429 include/clang/AST/DeclCXX.h
include/clang/AST/Type.h
lib/AST/DeclCXX.cpp
lib/AST/Type.cpp
lib/CodeGen/CGDecl.cpp
lib/CodeGen/CGDeclCXX.cpp
lib/CodeGen/CGExprAgg.cpp
lib/CodeGen/CodeGenFunction.h
lib/CodeGen/CodeGenModule.h
test/CodeGenCXX/const-invariant.cpp
test/CodeGenCXX/init-invariant.cpp
|
This would need a comment.