Displaying 20 results from an estimated 100 matches similar to: "[RFC] Increase the scope of Value::getPointerXXX methods"
2018 Jul 11
8
[RFC] A nofree (and nosynch) function attribute: Mixing dereferenceable and delete
Hi, everyone,
I'd like to propose adding a nofree function attribute to indicate that
a function does not, directly or indirectly, call a memory-deallocation
function (e.g., free, C++'s operator delete). Clang/LLVM can currently
misoptimize functions that:
1. Have a reference argument.
2. Free the memory backing the object to which the reference is bound
during the function's
2018 Jul 11
3
[RFC] A nofree (and nosynch) function attribute: Mixing dereferenceable and delete
[+Richard]
On 07/11/2018 08:29 AM, Sanjoy Das wrote:
> I'm not sure if nosynch is sufficient. What if we had:
>
> void f(int& x) {
> if (false) {
> int r0 = x;
> }
> }
>
> // other thread
> free(<pointer to x>);
>
> The source program is race free, but LLVM may speculate the read from
> x (seeing that it is dereferenceable) creating a
2018 Jul 12
2
[RFC] A nofree (and nosynch) function attribute: Mixing dereferenceable and delete
Thanks, Richard.
Based on the feedback from this thread, I'll move forward with the
patches for nofree, nosync, adding a new corresponding dereferenceable
attribute (my suggestion is to name this dereferenceable_on_entry;
suggestions welcome), and updating Clang is emit this new attribute
instead of the current one.
-Hal
On 07/11/2018 06:43 PM, Richard Smith wrote:
> On Wed, 11 Jul 2018
2013 Apr 29
3
[LLVMdev] [PATCH] Propagate DAG node ordering during legalization and instruction selection
Hi,
We've recently encountered a problem in our compiler where the line number in debug info jumps back and force even at O0. This is caused by DAG node ordering not being properly kept during legalization and instruction selection. There are still uncaught cases after applying the patch mentioned here.
So I have decided to implement the approach suggested by Andy as below. i.e. maintain the
2011 Feb 03
2
[LLVMdev] Convenience methods in ConstantExpr et al
Hi Talin,
> I find that I call the static methods in ConstantExpr a *lot* without going
> through IRBuilder - hundreds of times in my frontend. My language generates a
> lot of static data - reflection information, trace tables for the garbage
> collector, dispatch tables, runtime annotations, static object instances, and so
> on. (In fact there's a special helper class
2013 Apr 30
2
[LLVMdev] [PATCH] Propagate DAG node ordering during legalization and instruction selection
Hi Eric,
Sorry I wasn't clear. The problem happened in the "source" pre-RA scheduler, which relies on DAG node ordering to schedule the nodes.
Xiaoyi
From: Eric Christopher [mailto:echristo at gmail.com]
Sent: Tuesday, April 30, 2013 12:54 AM
To: Guo, Xiaoyi
Cc: LLVM Developers Mailing List
Subject: Re: [LLVMdev] [PATCH] Propagate DAG node ordering during legalization and
2010 May 20
0
[LLVMdev] trying to build llvm-gcc for arm, error: 'V1DI_pointer_node' undeclared (first use in this function)
You need to configure with --enable-llvm.
(It would still be nice if V1DI_pointer_node was defined; I'll take a look at that.)
On May 20, 2010, at 1:04 PM, Anatoly Yakovenko wrote:
> i am getting this compilation error:
>
>
> gcc -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall
> -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
>
2013 Apr 30
0
[LLVMdev] [PATCH] Propagate DAG node ordering during legalization and instruction selection
On Tue, Apr 30, 2013 at 12:48 AM, Guo, Xiaoyi <Xiaoyi.Guo at amd.com> wrote:
> Hi,****
>
> ** **
>
> We’ve recently encountered a problem in our compiler where the line number
> in debug info jumps back and force even at O0. This is caused by DAG node
> ordering not being properly kept during legalization and instruction
> selection. There are still uncaught cases
2010 May 20
2
[LLVMdev] trying to build llvm-gcc for arm, error: 'V1DI_pointer_node' undeclared (first use in this function)
i am getting this compilation error:
gcc -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wmissing-format-attribute -DHAVE_CONFIG_H
-I. -I. -I../../llvm-gcc-4.2-2.7.source/gcc
-I../../llvm-gcc-4.2-2.7.source/gcc/.
2013 Apr 30
0
[LLVMdev] [PATCH] Propagate DAG node ordering during legalization and instruction selection
On Apr 30, 2013, at 11:00 AM, "Guo, Xiaoyi" <Xiaoyi.Guo at amd.com> wrote:
> Hi Eric,
>
> Sorry I wasn’t clear. The problem happened in the “source” pre-RA scheduler, which relies on DAG node ordering to schedule the nodes.
In your case, Eric's suggestion was effectively "start implementing fast-isel". Which is not a bad idea if you want to reduce compile
2015 Feb 24
9
[LLVMdev] RFC: PerfGuide for frontend authors
I'd like to propose that we create a new Performance Guide document.
The target of this document will be frontend authors, not necessarily
LLVM contributors. The content will be a collection of items a frontend
author might want to know about how to generate LLVM IR which will
optimize well.
Some ideas on topics that might be worthwhile:
- Prefer sext over zext when value is known to be
2015 Feb 12
2
[LLVMdev] RFC: attribute for a pointer which is dereferenceable xor null
I'd like to propose that we add an attribute which expresses the notion
that the specified value is /either/ null or dereferenceable up to a
fixed size. (Note the xor.) Our current dereferenceable(n) attribute
doesn't quite fit the bill, it implies that the pointer is non-null.
Similarly, our nonnull attribute says nothing about dereferenceability.
There are two syntax proposals
2016 Mar 22
3
A couple ideas for possible GSoC projects
If there are any students looking for ideas, here a couple of projects
you might consider.
p.s. Anyone know where in the repo the OpenProjects page is? I'd
expected it to be the docs/ folder of the LLVM repo, but it wasn't.
Transactional Memory Optimization
Intel recently introduced transactional memory support in hardware. This
project would consist of implementing optimizations
2006 Sep 11
15
ruby method names
Hi
Attached is a patch that adds aliases to the API for methods that look
like attribute accessors. So
a_frame.set_title(''The title'') # currently
a_frame.title = ''The title'' # now an alternative
textctrl.get_value # currently
textctrl.value # now an alternative
Also, C++ methods named ''IsXXX'' are now exposed in ruby with
2019 Dec 18
5
RFC: Opaque pointer status and future direction
Hi all,
At the dev meeting I promised to update everyone on where my work with opaque
pointers is right now. It's taken me a while, but at least it's the same year!
Current Status
==============
I've put two branches up at https://github.com/TNorthover/llvm-project:
"opaque-ptr" which has most of the real work so far; and "opaque-ptr-always"
that additionally has
2015 Apr 24
2
[LLVMdev] Speculative loads and alignment
Hi,
There are several optimizations where we try to load speculatively. There are also two similar functions to determine whether it's a safe transformation:
* isSafeToLoadUnconditionally
* isSafeToSpeculativelyExecute
isSafeToLoadUnconditionally tries to take load alignment into account but fails to do this in some cases. It checks alignment for pointers derived from allocas and global
2016 Mar 22
0
A couple ideas for possible GSoC projects
Hi Philip,
> On Mar 22, 2016, at 4:43 PM, Philip Reames via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> If there are any students looking for ideas, here a couple of projects you might consider.
>
> p.s. Anyone know where in the repo the OpenProjects page is? I'd expected it to be the docs/ folder of the LLVM repo, but it wasn't.
Is it what you're
2015 Jan 20
2
[LLVMdev] How to test isDereferenceablePointer?
Philip Reames wrote:
> T.M.K., there's no direct way to test it.
There is. See the 'unittests/' directory which contains the C++ unit
tests. See unittests/IR/UserTest.cpp for an example that builds up IR
from a .ll-in-a-C-string then queries C++ API operations on it.
Nick
You have to construct a
> transformation which happens with the information you added and not
>
2015 Mar 04
2
[LLVMdev] RFC: PerfGuide for frontend authors
Just to be clear, you mean the release notes for 3.7 not 3.6 right?
On 03/04/2015 02:15 PM, Hans Wennborg wrote:
> This is great. Can you add it to the release notes?
>
> On Fri, Feb 27, 2015 at 3:34 PM, Philip Reames
> <listmail at philipreames.com> wrote:
>> The first version of this document is now live:
>> http://llvm.org/docs/Frontend/PerformanceTips.html
2006 Oct 21
0
[699] trunk/wxruby2/doc/textile/window.txtl: Added paint method; corrected ret values for get_text_extent; removed
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: