[PATCH] D8313: Refactor commoning of target specific load/store intrinsics in EarlyCSE
Hal Finkel via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 2 15:38:59 PST 2016
hfinkel added inline comments.
================
Comment at: include/llvm/Analysis/TargetTransformInfo.h:501
@@ +500,3 @@
+ /// purposes.
+ bool areInlineCompatible(const Function *Caller,
+ const Function *Callee) const;
----------------
> From what I understand, IntrReadArgMem results in an intrinsic being annotated with the readonly attribute. However, the readonly attribute doesn't imply that the intrinsic has only one pointer argument.
Not exactly. Such an intrinsic is read-only, but BasicAA also (automatically) learns the "arg mem" part of the property so that AA->getModRefBehavior can return FMRB_OnlyReadsArgumentPointees. Also, argmemonly is now a generic IR attribute that can be applied to any function.
================
Comment at: include/llvm/Analysis/TargetTransformInfo.h:518
@@ +517,3 @@
+ /// access.
+ bool isTargetIntrinsicAtomic(const IntrinsicInst *II) const;
+
----------------
If this is important, why not add function attributes for these?
http://reviews.llvm.org/D8313
More information about the llvm-commits
mailing list