Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Detecting mutex locks (and unlocks)"
2008 Sep 17
0
[LLVMdev] llvm memory barrier as a builtin
Mon Ping Wang wrote:
> Thanks for the info. My impression is that __sync_synchronize takes
> no arguments and is the memory barrier, i.e.,
> "llvm.memory.barrier(i1 true,i1 true,i1 true,i1 true,i1 true)". Is
> that right?
That's my understanding as well.
> I would like a little finer control to express just a
> write barrier (st-st) or a read barrier.
2008 Sep 18
1
[LLVMdev] llvm memory barrier as a builtin
Hi Luke,
What you say makes sense but I'm not sure it is a good way to go. If
we are using a gcc function name __sync_synchronize, I generally feel
like we should support it with exactly the same signature and not try
to extend it. Otherwise, it might lead to some confusion in the future
unless they also plan to extend it the same way.
-- Mon Ping
On Sep 17, 2008, at 1:14 PM,
2019 Apr 24
2
Accelerating TLI getLibFunc lookups
TLDR: Figuring out whether a declaration is a TLI LibFunc is slow. We
hammer that path in CGP. I'm proposing storing the ID of a TLI LibFunc
in the same IntID field in Function we use for IntrinsicID to make that
fast.
Looking into a compile time issue during codegen (LLC) for a large IR
file, I came across something interesting. Due to the presence of a
very large number of intrinsics in
2009 Oct 17
1
[LLVMdev] getIntrinsicID() optimization
Hi Chris,
Function is currently 108 bytes large. Could 4 more bytes really be an
issue? Actually 2 should suffice. While I understand that some applications
value storage more than anything, many applications value compilation time
very highly. getIntrinsicID is called all over the place (isIntrinsic uses
it as well), and every single time it checks the function name. To me that
sounds a lot
2013 Jul 31
0
[LLVMdev] Intended semantics for ``fence seq_cst``
2013/7/31 JF Bastien <jfb at google.com>:
> Hi,
>
> TL;DR: should we add a new memory ordering to fences?
>
>
> ``fence seq_cst`` is currently use to represent two things:
> - GCC-style builtin ``__sync_synchronize()`` [0][1].
> - C11/C++11's sequentially-consistent thread fence
> ``std::atomic_thread_fence(std::memory_order_seq_cst)`` [2].
>
> As far
2011 Aug 25
0
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
Hi Sanjoy,
> Attached set of patches splits llvm.init.trampoline into an "init"
> phase and an "adjust" phase, as discussed on the "Go on dragonegg"
> thread.
thanks for doing this. The patches look good, though the decomposition into
individual patches is not that great (since things won't always work, in fact
not even compile I think, with not all
2008 Sep 17
2
[LLVMdev] llvm memory barrier as a builtin
Thanks for the info. My impression is that __sync_synchronize takes
no arguments and is the memory barrier, i.e.,
"llvm.memory.barrier(i1 true,i1 true,i1 true,i1 true,i1 true)". Is
that right? I would like a little finer control to express just a
write barrier (st-st) or a read barrier.
-- Mon Ping
On Sep 17, 2008, at 5:50 AM, Andrew Lenharth wrote:
> On Tue, Sep 16,
2015 Jul 18
2
[LLVMdev] LICM for function calls
On 07/15/2015 07:05 PM, Hal Finkel wrote:
> ----- Original Message -----
>> From: "Xin Tong" <trent.xin.tong at gmail.com>
>> To: "Philip Reames" <listmail at philipreames.com>
>> Cc: "Hal Finkel" <hfinkel at anl.gov>, llvmdev at cs.uiuc.edu
>> Sent: Wednesday, July 15, 2015 6:35:11 PM
>> Subject: Re: [LLVMdev] LICM
2006 Apr 07
0
[LLVMdev] CVS Broken?
On Fri, 7 Apr 2006, Robert L. Bocchino Jr. wrote:
> I just updated from CVS, and after doing a clean rebuild I get this error:
Are you sure that no conflicts prevented updating from going smoothly? How
are you building (srcdir ==/!= objdir)?
-Chris
> /Users/bocchino/llvm-checkin/src/include/llvm/IntrinsicInst.h: In static
> member function 'static bool
2006 Apr 07
3
[LLVMdev] CVS Broken?
I just updated from CVS, and after doing a clean rebuild I get this
error:
/Users/bocchino/llvm-checkin/src/include/llvm/IntrinsicInst.h: In
static member function 'static bool llvm::DbgInfoIntrinsic::classof
(const llvm::IntrinsicInst*)':
/Users/bocchino/llvm-checkin/src/include/llvm/IntrinsicInst.h:77:
error: 'dbg_declare' is not a member of 'llvm::Intrinsic'
2006 Apr 07
0
[LLVMdev] CVS Broken?
On Fri, 7 Apr 2006, Robert L. Bocchino Jr. wrote:
> I did a utils/cvsupdate, and there are no conflicts. srcdir != objdir. This
> is on persephone.
>
> Are you not getting this error? Perhaps I should check out a fresh tree and
> try to compile it?
Nope, I don't think anyone else is getting this error. If you could try a
fresh build that would be great, I'll fire
2009 Oct 17
1
[LLVMdev] getIntrinsicID() optimization, mark 2
Hi Jeffrey,
Please correct me if I'm wrong, but I believe a test that checks for the old
behavior would be pointless. I realize that my patch would return an
unmatching intrinsicID when the function's name changes, but the real
question we should ask is do we really want to be able to change the
intrinsicID by changing the function's name?
Also, the original Function constructor
2006 Apr 07
2
[LLVMdev] CVS Broken?
I did a utils/cvsupdate, and there are no conflicts. srcdir !=
objdir. This is on persephone.
Are you not getting this error? Perhaps I should check out a fresh
tree and try to compile it?
Rob
On Apr 7, 2006, at 11:40 AM, Chris Lattner wrote:
> On Fri, 7 Apr 2006, Robert L. Bocchino Jr. wrote:
>> I just updated from CVS, and after doing a clean rebuild I get
>> this
2015 Jan 31
0
[LLVMdev] debug info for llvm::IntrinsicInst ???
(I'm assuming you're building LLVM with clang, in this case?)
Looks like IntrinsicInst is one of those "lies" in LLVM that works via type
punning that's undefined behavior in C++, so it's code that should be fixed
anyway.
In any case, the reason this produces the debugging experience you're
seeing is that LLVM (& GCC, for that matter) assumes that if your class
2013 Jul 31
2
[LLVMdev] Intended semantics for ``fence seq_cst``
struct {
volatile int flag;
int value;
} s;
int get_value_when_ready() {
while (s.flag) ;
__sync_synchronize();
return s.value;
}
This is "valid" legacy code on some processors, yet it's not valid to
replace __sync_synchronize with an atomic_thread_fence because, in
theory, LLVM could hoist the load of s.value. In practice it currently
doesn't, but it may in the
2015 Jan 31
0
[LLVMdev] debug info for llvm::IntrinsicInst ???
On Fri, Jan 30, 2015 at 10:37 PM, reed kotler <rkotler at mips.com> wrote:
> Ok.
>
> I'm basically just following the model of the other fast-isel ports.
>
Yeah, not your fault - just an architectural quirk.
It's possible we could workaround the debug info side of this by declaring
the virtual dtor (or some other virtual function - even an explicit anchor
as we have
2006 Apr 07
2
[LLVMdev] CVS Broken?
OK, when I copy $(SRCDIR)/include/llvm/Intrinsics.gen to $(OBJDIR)/
include/llvm/ by hand after building (and failing) once, the build
succeeds. This is definitely a makefile bug.
Rob
On Apr 7, 2006, at 11:40 AM, Chris Lattner wrote:
> On Fri, 7 Apr 2006, Robert L. Bocchino Jr. wrote:
>> I just updated from CVS, and after doing a clean rebuild I get
>> this error:
>
>
2006 Apr 07
0
[LLVMdev] CVS Broken?
I'm guessing the problem occurred because I hadn't updated in a while
(maybe a couple of weeks?) and I had an old Intrinsics.gen file
hanging around in my source directory that was getting picked up by
the makefile for some reason. This is a bug, but maybe it's harmless
because there's a onetime workaround (delete the file by hand) and it
won't be a problem for
2006 Apr 07
2
[LLVMdev] CVS Broken?
I've done several CVS head builds today .. no problems on Linux.
Reid.
On Fri, 2006-04-07 at 11:53 -0500, Chris Lattner wrote:
> On Fri, 7 Apr 2006, Robert L. Bocchino Jr. wrote:
>
> > I did a utils/cvsupdate, and there are no conflicts. srcdir != objdir. This
> > is on persephone.
> >
> > Are you not getting this error? Perhaps I should check out a fresh
2015 Jul 15
2
[LLVMdev] LICM for function calls
i think attributes have taken control flow into account. I think readnone
and nounwind functions are not safe to speculative execute because the
function could run indefinitely, e.g. an infinite loop.
-Xin
On Tuesday, July 14, 2015, Philip Reames <listmail at philipreames.com> wrote:
> On 07/14/2015 10:25 PM, Hal Finkel wrote:
>
>> ----- Original Message -----
>>