Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Clang question"
2012 Mar 05
2
[LLVMdev] Clang question
Christoph,
Yes, you are correct on the lifetime calls, they are just markers for
liveness.
However, the backend is not optimizing these calls away. I could try to
deal with them outside of llvm but I was hoping for a cleaner solution
using llvm?
On Mon, Mar 5, 2012 at 11:51 AM, Christoph Erhardt <christoph at sicherha.de>wrote:
> Hi Ryan,
>
> the compiler is free to insert
2012 Mar 05
6
[LLVMdev] Clang question
I would like it to always be lowered, I don't want it.
On Mon, Mar 5, 2012 at 12:27 PM, Eric Christopher <echristo at apple.com>wrote:
> You don't have memcpy or want it to always lower it?
>
> -eric
>
> On Mar 5, 2012, at 11:56 AM, Ryan Taylor <ryta1203 at gmail.com> wrote:
>
> > Christoph,
> >
> > Yes, you are correct on the lifetime
2012 Mar 05
0
[LLVMdev] Clang question
Hi Ryan,
the compiler is free to insert implicit calls to memcpy(), for instance
for assignments from one struct/class variable to another. The same goes
for memset(), which may be inserted implicitly for the initialization of
local structs or arrays.
The good news is that the backend normally optimizes these calls away
where possible, replacing them with simple moves - at least as long as
the
2012 Mar 05
0
[LLVMdev] Clang question
You don't have memcpy or want it to always lower it?
-eric
On Mar 5, 2012, at 11:56 AM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> Christoph,
>
> Yes, you are correct on the lifetime calls, they are just markers for liveness.
>
> However, the backend is not optimizing these calls away. I could try to deal with them outside of llvm but I was hoping for a cleaner
2012 Mar 05
0
[LLVMdev] Clang question
You'll need to do the work then. I'd also question why? On most platforms a decent memcpy exists.
-eric
On Mar 5, 2012, at 12:28 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> I would like it to always be lowered, I don't want it.
>
> On Mon, Mar 5, 2012 at 12:27 PM, Eric Christopher <echristo at apple.com> wrote:
> You don't have memcpy or want it to
2012 Mar 05
1
[LLVMdev] Clang question
Does -fno-builtin[-memcpy] handle this?
--Owen
On Mar 5, 2012, at 12:35 PM, Eric Christopher wrote:
> You'll need to do the work then. I'd also question why? On most platforms a decent memcpy exists.
>
> -eric
>
> On Mar 5, 2012, at 12:28 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
>
>> I would like it to always be lowered, I don't want it.
2012 Mar 05
0
[LLVMdev] Fwd: Clang question
Owen,
Clang doesn't accept this as an option; however, it did accept
-fno-builtin (the more general for all usage) and this has seemed to work.
Thank you.
My other question would then be how to lower vector instructions, such as
extractelement, insertelement and shufflevector. These should be solved by
ld/st/address calculation, correct? This is somewhat of the same problem it
seems to
2012 Mar 05
0
[LLVMdev] Clang question
So, let me rephrase, I understand what these functions are, I just want to
know why and when they are inserted so that I can make an attempt to remove
them, as they are not produced in llvm-gcc, only in clang?
On Mon, Mar 5, 2012 at 10:53 AM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> Clang is inserting an llvm.memcpy function call into my program where it
> does not exist (the
2012 Mar 05
1
[LLVMdev] Clang question
Memcpy in my experience has been inserted when a struct copy is generated.
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Ryan Taylor
Sent: Monday, March 05, 2012 11:04 AM
To: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Clang question
So, let me rephrase, I understand what these functions are, I just want to know why and when they are inserted so that
2012 Mar 05
2
[LLVMdev] Clang question
Owen,
Nevermind. bb-vectorize causes this optimization I see, I have disabled
it.
I am still curious though, what is the syntactically correct way to just
remove the -memcpy using -fno-builtin, I have tried both
-fno-builtin[-memcpy] and the "gcc" version -fno-builtin-memcpy?
On Mon, Mar 5, 2012 at 3:00 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
>
> Owen,
>
2012 Mar 05
0
[LLVMdev] Fwd: Clang question
Eric,
Ok, thanks, looks like I'll need to figure something out. I was hoping
scalarrepl would take care of this for me, but it's not lowering the
structure (I haven't look at the opt code to see why, I"m sure there's some
valid reason I'm unaware of atm).
On Mon, Mar 5, 2012 at 12:35 PM, Eric Christopher <echristo at apple.com>wrote:
> You'll need to do
2009 Dec 12
1
[LLVMdev] stack usage and scoping
Ahh, this states the problem precisely. Does anyone know if there is
active development in this direction? I'd love to be able to use
llvm.lifetime.start() / end().
Scott
On Fri, Dec 11, 2009 at 12:12 PM, Anton Korobeynikov
<anton at korobeynikov.info> wrote:
> Hello, Scott
>
>> I've just started using LLVM for a project I'm working on, and the
>> docs seem
2011 Dec 08
3
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
Hello Devang,
answers are interleaved
2011/12/7 Devang Patel <dpatel at apple.com>
> Hello,
>
> On Dec 7, 2011, at 2:07 AM, Seb wrote:
>
> > Hi all,
> >
> > I would like to add an option for LLVM 'opt' to disable a specific
> optimization pass from command line.
> >
> > The idea is to have something like:
> >
> > opt -O2
2005 Mar 21
2
NaN
Dear R
What does NaN mean?
I recently did a correlation on a batch of data for some reason it didn't
like one column
cor(sleep,use="complete.obs")
BodyWt BrainWt SlowSleep ParaSleep TotalSleep
BodyWt 1.00000000 0.95584875 -0.3936373 -0.07488845 -0.3428373
BrainWt 0.95584875 1.00000000 -0.3867947 -0.07427740 -0.3370815
SlowSleep -0.39363729
2011 Dec 08
0
[LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
> For instance, I figured out that loop-idiom pass has a BUG in
> LLVM 2.9, a llvm.memcpy is generated for an overlapping memory region and
> then x86 backend reorder loads/store thus generating a BUG.
Just for the record it seems this is a bug in your frontend, not in
the LLVM backend. The memcpy intrinsic, like the standard memcpy
function, requires that the regions be non-overlapping:
2012 Mar 05
0
[LLVMdev] Clang question
On Mon, Mar 5, 2012 at 3:09 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:
> Owen,
>
> Nevermind. bb-vectorize causes this optimization I see, I have disabled
> it.
>
> I am still curious though, what is the syntactically correct way to just
> remove the -memcpy using -fno-builtin, I have tried both
> -fno-builtin[-memcpy] and the "gcc" version
2015 Sep 21
5
extending liveness of 'this' pointer via FAKE_USE opcode
Hello!
At Sony we've seen some serious customer interest in having the 'this' pointer visible throughout an entire function during
debugging. However, optimizations may eliminate it after its last use, so we've been looking for a way to artificially extend its
liverange to the end of the function.
So far, the most compelling way we can think of, and one we have used successfully
2012 Mar 28
1
[LLVMdev] Removing Intrinsic Functions
There are a few instrinsic functions I would like to remove, is this
possible? For example, the llvm.lifetime and llvm.dbg instrinsics?
You can't simply iterate over the funciton and remove the call
instructions, this causes issues. Is there a known structured way of doing
this?
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2011 Feb 17
4
[LLVMdev] llvm.gcroot suggestion
I think I'm one of the few people actually using LLVM's support for garbage
collection, and so far I've found it very difficult to generate code that
uses llvm.gcroot() correctly.
In the current scheme, it is the frontend's responsibility to insure that
any intermediate SSA values containing references to garbage collectible
objects are copied to stack variables so that the GC
2011 Dec 13
1
[LLVMdev] Fwd: GetElementPtr
---------- Forwarded message ----------
From: Ryan Taylor <ryta1203 at gmail.com>
Date: Mon, Dec 12, 2011 at 4:58 PM
Subject: Re: [LLVMdev] GetElementPtr
To: Eli Friedman <eli.friedman at gmail.com>
Sorry,
So what I'm trying to ask is are the widths given (32, 64) for the index
and the offset the widths of the index and offset values or the width of
the type they are