Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose"
2013 Oct 30
0
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
----- Original Message -----
> Hi, There:
>
> I'd like to add bit, called "addr_not_taken", to GlobalVariable in
> order to
> indicate if a GlobalVariable doesn't has its address taken or not.
>
> 1.The motivation
> ===============
> The motivation can be explained by the following example. In this
> example,
> variable x does not have
2013 Oct 30
3
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
Hi, Hal:
Thank you for your feedback, see following inline comment
Thanks
On 10/29/13 5:02 PM, Hal Finkel wrote:
> ----- Original Message -----
>> Hi, There:
>>
>> I'd like to add bit, called "addr_not_taken", to GlobalVariable in
>> order to
>> indicate if a GlobalVariable doesn't has its address taken or not.
>>
>> 1.The
2013 Oct 30
0
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
----- Original Message -----
> Hi, Hal:
>
> Thank you for your feedback, see following inline comment
>
> Thanks
>
> On 10/29/13 5:02 PM, Hal Finkel wrote:
> > ----- Original Message -----
> >> Hi, There:
> >>
> >> I'd like to add bit, called "addr_not_taken", to
> >> GlobalVariable in
> >> order to
2013 Oct 30
2
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
>> 2) is just for being pedantic :-)
>>
>> One might otherwise argue in this snippet, x apparently does not have
>> its addr taken,
>> however, it's illegal to say that "x" and "*p" don't alias.
> Wait, really? I thought that "volatile static int x" just meant that the value of x was volatile; not that 'x' might
2013 Oct 30
0
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
On Oct 29, 2013, at 4:39 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
> That said, I don't think it is still inexpensive if we re-analyze the
> addr-taken again and again *ON THE FLY". It is really difficult to
> predict compile-time impact. You never know how many global variables
> in a program, and you never know how extensive they are used.
>
2013 Oct 30
2
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
Nadav:
I don't think this is right approach for engineering.
The time-complexity of re-analyzing addr_taken for each single alias
query depends on
1. how many global variable
2. how many occurrence of these global variables.
3. how many queries the compiler have.
3) depends on compiler. You never know what we will have in the
following few years.
1 and 2 depends on the
2013 Oct 30
0
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
On Oct 29, 2013, at 7:11 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
>> Also, as a general note, I don't see why any of this should be LTO-specific. For variables with local (internal) linkage, we can do the analysis on a per-module basis, and I don't understand why we currently don't.
>>
>> Thanks again,
>> Hal
>>
>>
> You can
2013 Oct 30
0
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
On Oct 30, 2013, at 10:37 AM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
> Nadav:
>
> I don't think this is right approach for engineering.
> The time-complexity of re-analyzing addr_taken for each single alias query depends on
> 1. how many global variable
> 2. how many occurrence of these global variables.
> 3. how many queries the compiler have.
2013 Nov 04
0
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
----- Original Message -----
>
> Hi, all:
>
> Per Chris and Nadav's request, I begin to write the code about
> analyzing address-taken
> lazily. I realize the alias query could be initiated from any context
> (*function* pass, loop pass etc),
> however, the analysis for global-variable-address-taken is conducted
> in *module* scope.
> Is there any potential
2013 Nov 04
2
[LLVMdev] [Propose] Add address-taken bit to GlobalVariable for disambiguation purpose
Hi, all:
Per Chris and Nadav's request, I begin to write the code about
analyzing address-taken
lazily. I realize the alias query could be initiated from any context
(*function* pass, loop pass etc),
however, the analysis for global-variable-address-taken is conducted in
*module* scope.
Is there any potential problem over here? (For instance, function foo()
and bar() comprise module
2012 Nov 10
3
[LLVMdev] Alias analysis interface
Hello,
I'm afraid I don't understand your question. Could you restate your example
and your question, and say what specifically you would like alias analysis
to do?
Dan
On Fri, Nov 9, 2012 at 9:31 AM, Shuxin Yang <shuxin.llvm at gmail.com> wrote:
> Sorry the 1st example I gave it bit lame, it is changed to following:
>
> // a[] is local array, no addr taken. die right
2012 Nov 10
0
[LLVMdev] Alias analysis interface
>what specifically you would like alias analysis to do?
Quite honestly, I don't know what interface is convenient for optimizer.
I once implemented a flow-sensitive alias-analysis as a hobby project,
which was able to disambiguate the subscripted variables like a[i] and
a[i-1]. Unfortunately, the interface is pretty messy, that
is why I solicit your insight on this issue.
The problem
2011 Nov 21
2
[LLVMdev] A way to pass const char* arg without creating a GlobalVariable
Hi,
Is it possible to make up a ConstantArray containing a "const char*"
string and pass it directly to the function "char*" argument *without*
creating a GlobalVaribable?
I looked around and found the usual implementation is
array->globalVar->gep. If we omit globalVar & gep, then the argument
type would be [ i8 x N ], where N is set to the exact string length,
and
2011 Nov 21
0
[LLVMdev] A way to pass const char* arg without creating a GlobalVariable
What memory would the pointer argument point to?
― Gordon
On Nov 20, 2011, at 16:58, "Dmitry N. Mikushin" <maemarcus at gmail.com> wrote:
> Hi,
>
> Is it possible to make up a ConstantArray containing a "const char*"
> string and pass it directly to the function "char*" argument *without*
> creating a GlobalVaribable?
> I looked around and
2013 Jul 12
14
[LLVMdev] [Proposal] Parallelize post-IPO stage.
Hi, There:
This is the proposal for parallelizing post-ipo stage. See the
following for details.
I also attach a toy-grade rudimentary implementation. This
implementation can be
used to illustrate some concepts here. This patch is not going to be
committed.
Unfortunately, this weekend I will be too busy to read emails. Please
do not construe
delayed response as being rude :-).
2019 Feb 22
2
Create the GlobalVariable which have extern in one header file
Hi
Good day. I am facing issue with creating a GlobalVariable. I already have an extern for that global in a header file to use it in the following way
extern const void* DATA_TABLE[];
And with a LLVM PASS, I am trying to create this array with the same name and with initializer. So, I have following:
GlobalVariable *gvar_data = new GlobalVariable(
M, blockItems->getType(), true,
2018 Mar 21
1
How to read String value of GlobalVariable?
Hi
I have IR Code like
...
@path = private constant [6xi8] c"abcde\00"
...
--- Code from Pass ---
GlobalVariable * GVPath = .... // contains @path
I want to convert "abcde" to StringRef. Can you help me with
GlobalVariable API?
GlobalVariable::getInitializer() --> Constant* // How to get exact value
äbcde from here?
~mahesh
-------------- next part --------------
2016 Sep 03
3
GlobalVariable to image base
For x86-win32 we got __ImageBase,
Is there any *simple* way to create a GlobalVariable pointing to the image
base on all platforms?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160903/74cb585c/attachment-0001.html>
2004 Nov 11
1
[LLVMdev] Leaking GlobalVariable from lowerInvoke pass
Although most of the leaks I detected in LLVM were from singleton
objects, there also seem to be some real leaks. One such leak (which is
creating problems for me when I try to get rid of the constant
singletons) seems to be a GlobalVariable created on line 145 of
Transforms/Scalar/lowerInvoke.cpp -- any suggestions how I can make sure
this GlobalVariable gets deleted?
Actually I'm a bit
2012 Aug 18
1
[LLVMdev] GlobalVariable initializer using from beyond the grave
For LLDB I'm writing a dumb module pass that removes all global variables, by running the following code:
bool erased = true;
while (erased)
{
erased = false;
for (Module::global_iterator gi = llvm_module.global_begin(), ge = llvm_module.global_end();
gi != ge;
++gi)
{
GlobalVariable *global_var =