mzolotukhin added a comment.
Hi Richard, Hal,
Does the patch look good now?
Thanks,
Michael
http://reviews.llvm.org/D12313
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hfinkel added a comment.
In http://reviews.llvm.org/D12313#241697, @mzolotukhin wrote:
> Hi Richard, Hal,
>
> Does the patch look good now?
Looks good to me, but please wait for Richard on the changes he requested.
> Thanks,
> Michael
http://reviews.llvm.org/D12313
This revision was automatically updated to reflect the committed changes.
Closed by commit rL247104: Introduce __builtin_nontemporal_store and
__builtin_nontemporal_load. (authored by mzolotukhin).
Changed prior to commit:
http://reviews.llvm.org/D12313?vs=33492=34281#toc
Repository:
rL
mzolotukhin added a comment.
Gentle ping.
http://reviews.llvm.org/D12313
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hfinkel added a comment.
Thanks, but I still have this question:
Plus, I don't understand why you're implementing another place in CodeGen
that generates IR to load and store scalar values. Can't you enhance
EmitLoadOfScalar/EmitStoreOfScalar and then use those functions? If nothing
else,
mzolotukhin added a comment.
I still have this question:
Oops, sorry - I missed that. I'll check how can we reuse that logic.
Thanks,
Michael
http://reviews.llvm.org/D12313
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
mzolotukhin updated this revision to Diff 33492.
mzolotukhin added a comment.
- Use EmitStoreOfScalar and EmitLoadOfScalar for generating nontemporal loads
and stores.
- Rebase on TOT.
http://reviews.llvm.org/D12313
Files:
include/clang/Basic/Builtins.def
mzolotukhin added a comment.
Hi Hal,
I added `Nontemporal` field to LValue and started to use it in
`EmitStoreOfScalar`/`EmitLoadOfScalar`. Does it look like something you had in
mind?
Thanks,
Michael
http://reviews.llvm.org/D12313
___
hfinkel added a comment.
I also like this intrinsic approach better than the type attribute.
The fact that it does not work with builtin vector types, however, is quite
unfortunate. Plus, I don't understand why you're implementing another place in
CodeGen that generates IR to load and store
mzolotukhin updated this revision to Diff 33396.
mzolotukhin added a comment.
Address review remarks:
- Remove typed versions - indeed, we don't need them.
- Allow vector types.
- Properly handle bool-type (promote i1 to i8).
- Check arguments number.
- Simplify SemaBuiltinNontemporalOverloaded
mzolotukhin added a comment.
Hi Richard, Hal, and others,
I updated the patch according to review remarks - now we support vector and
boolean types too! Could you please take a look?
Thanks,
Michael
Comment at: lib/CodeGen/CGBuiltin.cpp:128-129
@@ +127,4 @@
+ Val =
rsmith added inline comments.
Comment at: include/clang/Basic/Builtins.def:1249-1255
@@ +1248,9 @@
+BUILTIN(__builtin_nontemporal_store, v., t)
+BUILTIN(__builtin_nontemporal_store_1, vcc*., )
+BUILTIN(__builtin_nontemporal_store_2, vss*., )
12 matches
Mail list logo