mzolotukhin abandoned this revision.
mzolotukhin added a comment.
We decided to go with an alternative way - with builtins instead of type
attributes. The corresponding patch is http://reviews.llvm.org/D12313, and it's
already reviewed and committed.
http://reviews.llvm.org/D12221
_
mzolotukhin added a comment.
Hi,
I implemented builtin-based version in http://reviews.llvm.org/D12313 - could
you please take a look?
Thanks,
Michael
http://reviews.llvm.org/D12221
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://l
On Fri, Aug 21, 2015 at 4:59 PM, Michael Zolotukhin via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
> mzolotukhin added a comment.
>
> Thanks for the feedback everyone!
> I think at this point I'll try to return to builtins then. In my original
> patch I didn't have type overloading, so I'll
mzolotukhin added a comment.
Thanks for the feedback everyone!
I think at this point I'll try to return to builtins then. In my original patch
I didn't have type overloading, so I'll need some time to add this. We can
return back to type attributes later if we'd like to.
And do I understand it
On Fri, Aug 21, 2015 at 10:35 AM, Michael Zolotukhin via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
> Yes, I've considered a builitin as an alternative. In fact, I started with
> it as it was easier to implement, but then decided to switch to type
> attribute due to the following reasons:
>
On Fri, Aug 21, 2015 at 12:14 PM, Michael Zolotukhin via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
> mzolotukhin added a comment.
>
> Oh, I see. So, you meant something like this?
>
> void foo(std::vector av, float *
> b, int N) {
> for (auto a: av) // << `a` doesn't have nontemp
aaron.ballman added a comment.
In http://reviews.llvm.org/D12221#230263, @mzolotukhin wrote:
> Oh, I see. So, you meant something like this?
>
> void foo(std::vector av, float * b,
> int N) {
> for (auto a: av) // << `a` doesn't have nontemporal attribute here
> for (int i = 0;
mzolotukhin added a comment.
Oh, I see. So, you meant something like this?
void foo(std::vector av, float * b, int
N) {
for (auto a: av) // << `a` doesn't have nontemporal attribute here
for (int i = 0; i < N; i++)
a[i] = b[i]+1;
}
One can easily work around it by usi
aaron.ballman added a comment.
In http://reviews.llvm.org/D12221#230187, @mzolotukhin wrote:
> **Aaron**,
> As far as I understand, type attributes doesn't result in such complications
> (as opposed to type qualifiers, e.g. `__restrict__`). That is, it doesn't
> change the canonical type, it o
mzolotukhin added a comment.
Hi all,
Thanks for the feedback, please find my answers below:
> What does it mean to have the attribute applied to non-pointer types like int
> __attribute__((nontemporal)) i; ? The ACLE doesn't say but making it
> erroneous might make sense. Perhaps it would be g
aaron.ballman added a subscriber: aaron.ballman.
aaron.ballman added a reviewer: aaron.ballman.
aaron.ballman added a comment.
This doesn't seem like a fundamental property of a type, to me. If I understand
properly, this has more to do with specific instances of memory access. By
making it part
On Thu, Aug 20, 2015 at 6:39 PM, Michael Zolotukhin via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
> mzolotukhin created this revision.
> mzolotukhin added reviewers: hfinkel, doug.gregor, t.p.northover, ab,
> mcrosier.
> mzolotukhin added a subscriber: cfe-commits.
> Herald added a subscrib
majnemer added a subscriber: majnemer.
majnemer added a comment.
What does it mean to have the attribute applied to non-pointer types like `int
__attribute__((nontemporal)) i;` ? The ACLE doesn't say but making it
erroneous might make sense. Perhaps it would be good to have a semantic test
wh
mzolotukhin created this revision.
mzolotukhin added reviewers: hfinkel, doug.gregor, t.p.northover, ab, mcrosier.
mzolotukhin added a subscriber: cfe-commits.
Herald added a subscriber: aemerson.
Currently there is no way to generate nontemporal memory accesses for some
architectures, e.g. for AA
14 matches
Mail list logo