Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] How to prevent duplication of function calls?"
2011 Apr 16
0
[LLVMdev] How to prevent duplication of function calls?
This came up a long time ago, but I'm not sure what the resolution was:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-October/026312.html
There's also TID::isNotDuplicable:
http://llvm.org/docs/doxygen/html/classllvm_1_1TargetInstrDesc.html#ab05b074805f22503828b5b625d437f3a
I don't know enough about LLVM's backend to say if you can get that on
an intrinsic.
Reid
On Thu, Apr
2011 Apr 18
2
[LLVMdev] How to prevent duplication of function calls?
Thanks Reid. It looks like the first thread didn't really get anywhere. The author most likely just modified the offending passes to respect the barriers (this is my guess based on what I read in that thread).
By the time back-end starts, it's too late, since the front end does some of the duplications.
For the record, I probably will end up doing the following:
- Modifying passes that
2011 Apr 18
0
[LLVMdev] How to prevent duplication of function calls?
Dmitry,
We never were able to get a resolution for this issue. What we have done is made modifications to LLVM to disable duplication of barrier in specific optimization passes. Once we fully integrate with 2.9 we plan on attempting to merge some of those changes back in to LLVM.
Micah
> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at
2012 Dec 01
0
[LLVMdev] [RFC] "noclone" function attribute
On 12/1/2012 10:02 AM, James Molloy wrote:
>
> I'm proposing a new function attribute, "noclone", with the semantics that "calls to functions marked "noclone" cannot be cloned or duplicated into the same function.". That is, it is illegal to call J = I->clone() then attach J to the same basic block as I if I is marked "noclone".
The class Loop
2012 Dec 01
6
[LLVMdev] [RFC] "noclone" function attribute
Hi,
OpenCL has a "barrier" function with very specific semantics, and there is currently no analogue to model this in LLVM.
This has been touched on by the SPIR folks but I don't believe they put forward a proposal.
The barrier function is a special function that ensures that all workitems executing a kernel have executed up to that point before execution on any workitem can
2010 Jun 24
0
[LLVMdev] How to prevent an instruction to be executed more than once?
On Jun 24, 2010, at 7:00 AMPDT, Xinfinity wrote:
>
> I need to mark the beginning of some regions of code, that I want to
> patch at
> runtime.
> In this case, I want to mark the beginning of BB4 and then to patch
> the
> jumps, because I want to temporarily change the flow at runtime and
> then to
> restore the previous version.
>
> In order to patch, I
2012 Dec 01
2
[LLVMdev] [RFC] "noclone" function attribute
> Maybe a similar interface could be added to Instruction, and an
> instruction would declare itself unsafe to clone if it was a call to a
> function with the attribute that you are proposing.
I experimented with something similar to this, where Instruction::clone ensured it wasn't "noclone" - if it was, it asserted. But that broke the use-case of cloning whole functions.
2012 Dec 01
0
[LLVMdev] [RFC] "noclone" function attribute
On 12/1/2012 11:25 AM, James Molloy wrote:
>> Maybe a similar interface could be added to Instruction, and an
>> instruction would declare itself unsafe to clone if it was a call to a
>> function with the attribute that you are proposing.
>
> I experimented with something similar to this, where Instruction::clone ensured it wasn't "noclone" - if it was, it
2012 Dec 01
0
[LLVMdev] [RFC] "noclone" function attribute
On 12/1/2012 10:02 AM, James Molloy wrote:
>
> This means that cloning whole functions (CloneFunction and CloneFunctionInto) will still work [...].
Unfortunately, it won't work.
Assume all threads call foo:
foo() {
...
bar(i)
...
}
bar(int i) {
...
barrier();
...
}
Now, suppose that we have discovered that bar(0) can be greatly
optimized and generate a call to
2019 Feb 12
3
[RFC] Potential extension to asm statement functionality
The team I am working with is using asm statements containing label definitions as a way of instrumentation so that when an application is loaded into their debug and test framework, the labels will cause breakpoints to be set at strategic points where they can query the state of the processor that the application is running on.
~ Todd
From: Eli Friedman [mailto:efriedma at quicinc.com]
Sent:
2010 Jun 24
2
[LLVMdev] How to prevent an instruction to be executed more than once?
I need to mark the beginning of some regions of code, that I want to patch at
runtime.
In this case, I want to mark the beginning of BB4 and then to patch the
jumps, because I want to temporarily change the flow at runtime and then to
restore the previous version.
In order to patch, I need to know the exact structure of the generated code.
So, I might have a BasicBlock like:
BB4:
call void asm
2019 Feb 14
3
[RFC] Potential extension to asm statement functionality
Hi Paul,
Regarding the "No Touchie!" constraint idea for asm statements: would this be a new qualifier (like volatile) that could be applied to the asm statement?
Since the constraint is not necessarily associated with an input or output operand, it seems that introducing the constraint via the qualifier field might work.
All,
The volatile qualifier on an asm statement already
2019 Feb 12
2
[RFC] Potential extension to asm statement functionality
Suppose a programmer wants to inject their own global label definition into the body of a function with some guarantee that it will not be removed by the compiler.
One way to do this is to define a global label with an asm statement knowing that the asm statement will not be invoked until after the compiler's optimization passes have run, but the following case demonstrates that a label
2012 Nov 29
0
[LLVMdev] radr://12777299, "potential pthread/eh bug exposed by libsanitizer"
+glider
The compiler hardly matters here, I would expect the same failures with
clang.
Alex, could you please take a look?
--kcc
On Thu, Nov 29, 2012 at 9:55 PM, Jack Howarth <howarth at bromo.med.uc.edu>wrote:
> Nick,
> Can you take a quick look at the asan_eh_bug.tar.bz testcase
> I uploaded into the newly opened radr://12777299, "potential
> pthread/eh bug exposed
2012 Nov 29
3
[LLVMdev] radr://12777299, "potential pthread/eh bug exposed by libsanitizer"
Nick,
Can you take a quick look at the asan_eh_bug.tar.bz testcase
I uploaded into the newly opened radr://12777299, "potential
pthread/eh bug exposed by libsanitizer". The FSF gcc developers
have ported llvm.org's asan code into FSF gcc (and are keeping
it synced to the upstream llvm.org code). I have been helping
with the darwin build and testing -fsanitize=address against the
2017 Apr 13
3
Question on induction variable simplification pass
Hi all,
It looks like the induction variable simplification pass prefers doing a zero-extension to compute the wider trip count of loops when extending the IV. This can sometimes result in loss of information making ScalarEvolution's analysis conservative which can lead to missed performance opportunities.
For example, consider this loopnest-
int i, j;
for(i=0; i< 40; i++)
for(j=0;
2007 Dec 04
2
Multiple stacked barplots on the same graph?
Dear R-Users,
I would like to know whether it is possible to draw several
stacked barplots (i.e. side by side on the same sheet)...
my data look like :
Cond1 Cond1' Cond2 Cond2'
Compartment 1 11,81 2,05 12,49 0,70
Compartment 2 10,51 1,98 13,56 0,85
Compartment 3 1,95 0,63 2,81 0,22
Compartment 4 2,08 0,17
2016 Nov 01
2
(RFC) Encoding code duplication factor in discriminator
----- Original Message -----
> From: "Hal Finkel via llvm-dev" <llvm-dev at lists.llvm.org>
> To: "Dehao Chen" <dehao at google.com>
> Cc: "llvm-dev" <llvm-dev at lists.llvm.org>, "Xinliang David Li"
> <davidxl at google.com>
> Sent: Tuesday, November 1, 2016 4:26:17 PM
> Subject: Re: [llvm-dev] (RFC) Encoding code
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();
2012 Mar 19
3
Issue with asin()
Hello everyone,
I am working for a few days already on a basic algorithm, very common in
applied agronomy, that aims to determine the degree-days necessary for a
given individual to reach a given growth stade. The algorithm (and context)
is explained here: http://www.oardc.ohio-state.edu/gdd/glossary.htm , and
so I implemented my function in R as follows:
DD <- function(Tmin, Tmax, Tseuil,