Displaying 20 results from an estimated 5000 matches similar to: "[LLVMdev] Preventing IR instruction duplication"
2013 Oct 11
3
[LLVMdev] Generate code for ARM Cortex m0, m3, and m4.
Hi,
I am trying to cross compile code for ARM Cortex m0, m3, and m4.
For m0, I use:
-target armv6--eabi -mcpu=cortex-m0
That seems to work. For m3 and m4, I use the following which does not work
(fatal error: error in backend: CPU: 'cortex-m3' does not support ARM mode):
-target armv7m--eabi -mcpu=cortex-m3
and
-target armv7em--eabi -mcpu=cortex-m4
Who can help me with the
2019 Oct 25
3
RFC: Removal of noduplicate attribute
Hi,
Can the noduplicate attribute be deleted? It was originally added to satisfy the constraints of OpenCL barriers, but it didn’t really solve this problem. Convergent is strictly better and more accurately captures the real restriction. Is anyone still using noduplicate or really needs the semantics of noduplicate? There are a number of passes that now respect convergent, but do not try to
2015 Feb 10
2
[LLVMdev] Should we add noduplicate attribute on the function which contains a noduplicate function call?
Hello all,
I have a question related to noduplicate attribute.
For example, if I have the following source code:
__attribute__((noduplicate)) __attribute__((always_inline)) void wait () {
// some code
barrier();
// some code
}
__attribute__((noduplicate)) void barrier ();
void f () {
// some code
wait();
// some code
}
Sometimes I observed a phenomenon that
2019 Oct 29
3
RFC: Removal of noduplicate attribute
On 10/27, Aaron Ballman via llvm-dev wrote:
> On Fri, Oct 25, 2019 at 7:37 PM Arsenault, Matthew via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> >
> > Hi,
> >
> > Can the noduplicate attribute be deleted? It was originally added to
> > satisfy the constraints of OpenCL barriers, but it didn’t really
> > solve this problem. Convergent is strictly
2012 Dec 02
0
[LLVMdev] [RFC] "noclone" function attribute
I definitely support this.
In fact we were about to send a very similar proposal. The main difference I can see between this proposal and ours was that we named the attribute "noduplicate".
I graciously defer to James on the bikeshade color issue.
Michael
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of James Molloy
2015 Feb 05
3
[LLVMdev] Is there any known bug related to NoDuplicate in LLVM/Clang 3.5
Hello all,
I am using LLVM/Clang 3.5 to build a C++ extension. Such C++ extension
contains a special function named "barrier", which shouldn't be duplicated.
So I add __attribute__((noduplicate)) on barrier declaration.
For some reasons, I also add AlwaysInlineAttr attribute on each function
except main function. The generated LLVM IR what I expect is only a main
function with many
2012 Dec 04
2
[LLVMdev] [RFC] "noclone" function attribute
Hi all + llvm-commits,
After the discussion below, please find attached my patch to add a new
"noduplicate" function attribute.
I've modified CodeMetrics and LoopInfo, which covers most cases, but
JumpThreading and InlineCost don't use CodeMetrics yet, so they required
changing manually.
Cheers,
James
On Mon, 2012-12-03 at 23:46 +0000, Chris Lattner wrote:
> On Dec 3,
2012 Dec 06
2
[LLVMdev] [RFC] "noclone" function attribute
Hi Michael,
After some head-scratching and discussion with our tame Khronos member,
I agree with you.
It comes down to the interpretation of the ambiguous spec. It refers to
"the barrier", implying there is some sort of equivalence relation over
barriers. The question is, what is that equivalent relation? In your
example code:
> void f(int foo) {
> if (foo)
> b();
2013 Dec 27
3
[LLVMdev] Loads moving across barriers
On Thu, Dec 26, 2013 at 8:54 PM, Andrew Trick <atrick at apple.com> wrote:
> Others can weigh in here. This is just my understanding. Attribute
> propagation has to be optional because we can’t assume inter-procedural
> optimization runs for correct codegen. What if the memfence resides in a
> different module?
>
> In the case of noduplicate, the only reason to propagate
2019 Oct 29
2
RFC: Removal of noduplicate attribute
On Tue, Oct 29, 2019 at 11:57 AM Savonichev, Andrew via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> > These are good points. I think the first question should be: Do we know
> > of any active users of this attribute right now? If not, deprecation
> > seems like something we could do, e.g., through a warning in clang and
> > in the middle-end to ensure other
2012 Dec 03
2
[LLVMdev] [RFC] "noclone" function attribute
Hi,
Thanks for the pointers. My patch now calls the attribute "noduplicate",
and updates CodeMetrics to have another field:
bool notDuplicatable;
Which semantically is "containsIndirectBr || containsNoDuplicateInst". I
didn't repurpose containsIndirectBr because I felt what I'm looking for
is sufficiently different (indirectbr inhibits inlining, whereas
noduplicate
2013 Dec 21
2
[LLVMdev] Loads moving across barriers
On Dec 4, 2013, at 8:25 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Dec 4, 2013, at 5:19 PM, Matt Arsenault <Matthew.Arsenault at amd.com> wrote:
>
>> On 12/04/2013 04:29 PM, Andrew Trick wrote:
>>> On Dec 4, 2013, at 3:33 PM, Matt Arsenault <Matthew.Arsenault at amd.com> wrote:
>>>
>>>> On 11/11/2013 03:13 PM, Andrew
2012 Dec 07
0
[LLVMdev] [RFC] "noclone" function attribute
Sounds good to me.
I'm not sure the solution for transitivity is optimal, but it's a good compromise.
-----Original Message-----
From: James Molloy [mailto:James.Molloy at arm.com]
Sent: Thursday, December 06, 2012 13:05
To: Kuperstein, Michael M
Cc: Chris Lattner; llvm-commits; Nadav Rotem; llvmdev at cs.uiuc.edu
Subject: RE: [LLVMdev] [RFC] "noclone" function attribute
Hi
2012 Apr 03
1
[LLVMdev] Possible typo in LoopUnrollPass.cpp
hi,
In "LoopUnrollPass.cpp", when trying to reduce unroll count to meet
the unroll threshold requirement in line 200 and line 206, variable
"CurrentThreshold" is used in the computation, instead of the variable
"Threshold", which is defined by:
// Determine the current unrolling threshold. While this is normally set
// from UnrollThreshold, it is overridden to
2012 Dec 06
0
[LLVMdev] [RFC] "noclone" function attribute
I'm not sure I agree with the semantics this patch creates.
The way I see it, there are two options:
1) Make "noduplicate" non-transitive and forbid inlining when there are multiple callsites.
2) Allow inlining, but make the attribute transitive.
Consider the following code, where barrier() is marked noduplicate.
kernel void k() {
if (x())
y();
b();
if (x())
z();
2012 Dec 03
0
[LLVMdev] [RFC] "noclone" function attribute
On Dec 3, 2012, at 9:48 AM, James Molloy <James.Molloy at arm.com> wrote:
> Hi,
>
> Thanks for the pointers. My patch now calls the attribute "noduplicate",
> and updates CodeMetrics to have another field:
>
> bool notDuplicatable;
>
> Which semantically is "containsIndirectBr || containsNoDuplicateInst". I
> didn't repurpose
2015 Feb 10
1
[LLVMdev] Should we add noduplicate attribute on the function which contains a noduplicate function call?
Hello James,
Thanks for your reply.
My apologies that I mark the function 'wait' with noduplicate in the above
example. In fact I didn't use __attribute__((noduplicate)) with function
'wait' in my implementation so there is no bug in LLVM. I would dig up the
original discussions between you and Chris Lattner for more context.
Thanks.
-------------- next part --------------
2019 Jan 24
3
[RFC] Adding thread group semantics to LangRef (motivated by GPUs)
I don't see how this would fix the continue vs. nested loop problem I
explained earlier. That is, how would this prevent turning:
for (...) {
ballot();
if (... /* non-uniform */) continue;
}
into
for (...) {
do {
ballot();
} while (... /* non-uniform */);
}
and vice versa? Note that there's no duplication going on here, and
the single-threaded flow of control is
2010 Jun 08
1
[LLVMdev] the PartialSpecialization pass (was Re: Is there a "callback optimization"?)
Good evening, Kenneth.
Thank you to apply (and rewrite my naive code better)
and to file the issue to http://llvm.org/bugs/show_bug.cgi?id=7304
I have checked r105528 at this morning.
I think the pass must be still cleaned up and rewritten.
There are my two proposals for enhancement.
1) To separate Specialization(and rewriting callsites) to other module.
It would be better if new module were
2012 Dec 03
3
[LLVMdev] [RFC] "noclone" function attribute
On Dec 1, 2012, at 11:49 PM, "Kuperstein, Michael M" <michael.m.kuperstein at intel.com> wrote:
> I definitely support this.
>
> In fact we were about to send a very similar proposal. The main difference I can see between this proposal and ours was that we named the attribute "noduplicate".
> I graciously defer to James on the bikeshade color issue.
Yes,