Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-09-10 Thread Michael Zolotukhin via cfe-commits
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 _

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-26 Thread Michael Zolotukhin via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Richard Smith via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Michael Zolotukhin via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Richard Smith via cfe-commits
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: >

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Richard Smith via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Aaron Ballman via cfe-commits
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;

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Michael Zolotukhin via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Aaron Ballman via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Michael Zolotukhin via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-21 Thread Aaron Ballman via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-20 Thread Richard Smith via cfe-commits
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

Re: [PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-20 Thread David Majnemer via cfe-commits
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

[PATCH] D12221: [RFC] Introduce `__attribute__((nontemporal))`.

2015-08-20 Thread Michael Zolotukhin via cfe-commits
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