Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] A question about Module::getGlobalVariable()"
2007 Sep 22
4
[LLVMdev] RFC: Patch
Hi all,
I have a patch that would potentially help Objective-C 2. In the
"make_decl_llvm()" in llvm-backend.cpp, there is code to search
through the already generated global variables. Objective-C goes
through this code twice with the same identifier. The first time, is
to create meta-data for a "property". The second time is to add a
reference to that property into the
2012 Dec 05
0
[LLVMdev] how to get and modify a global variable inside a module
On 05/12/12 12:07, Dong Chen wrote:
> recently, i use LLVM API to write a program to read *.ll and excute it
> automatically.
> Further more, i want to change some global variables inside a module.
> i tried some functions provided by Module.h and ExecutionEngine.h but none
> were seemed to match my need.
> did someone have the experience or some advices?
> thank you ;)
You
2012 Dec 05
4
[LLVMdev] how to get and modify a global variable inside a module
recently, i use LLVM API to write a program to read *.ll and excute it
automatically.
Further more, i want to change some global variables inside a module.
i tried some functions provided by Module.h and ExecutionEngine.h but none
were seemed to match my need.
did someone have the experience or some advices?
thank you ;)
--
View this message in context:
2007 Sep 22
0
[LLVMdev] RFC: Patch
Hi Bill, why not just add "true" to the getGlobalVariable call?
GlobalVariable *getGlobalVariable(const std::string &Name,
bool AllowInternal = false) const;
Ciao,
Duncan.
2006 Jan 04
2
[LLVMdev] how to convert into SSA form
Dear All,
Could someone tell me how to convert LLVM bytecode into minimal SSA form ?
or just depend on GCC frontend ?
thanks
aqex
2016 Aug 26
2
Use of array type in globals in LTO
> On Aug 26, 2016, at 2:06 PM, Teresa Johnson <tejohnson at google.com> wrote:
>
> Mehdi: I see what is going on:
>
> + ArrayType *Ty =
> + ArrayType::get(Type::getInt8Ty(RegularLTO.Ctx), I.second.Size);
> + GlobalVariable *OldGV = RegularLTO.CombinedModule->getNamedGlobal(I.first);
> + if (OldGV && OldGV->getType()->getElementType()
2016 Aug 26
2
Use of array type in globals in LTO
Thanks for the test case! I can reproduce this, and see with the
compiler I saved from just before r278338 that this is indeed a chance
in behavior. Looking at why this changed...
On Fri, Aug 26, 2016 at 1:42 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
>> On Aug 26, 2016, at 1:34 PM, junbuml at codeaurora.org wrote:
>>
>> On 2016-08-26 12:47, Mehdi Amini wrote:
2018 Mar 20
2
lld/lto/win32 crash on DIE code
Op 20-3-2018 om 12:40 schreef Evgeny Leviant:
> This one triggers an assertion in calculateSEHStateNumbers due to weird catchpad instruction
> in @_island_debug_invoke and many other functions. The code expects either pointer to a filter
> function or null in first operand, while you're passing pointer to structure:
>
> catchpad within %80 [{i8*, i8*}* anon..., ...]
>
>
2012 Dec 05
3
[LLVMdev] how to get and modify a global variable inside a module
hi Duncan Sands,
i have tried the functions:
GlobalValue * getNamedValue (StringRef Name) const
GlobalVariable * getGlobalVariable (StringRef Name, bool
AllowInternal=false) const
GlobalVariable * getNamedGlobal (StringRef Name) const
but i think these functions just return the ID or something else (not the
Global Variable's main memory address, i am not sure)
here is the thing. i
2017 May 30
2
llvm::GlobalVariable usage (newbie question)
The docs are pretty vague about this. After digging into the examples I got
the following to work with JIT to gain a pointer to variable elsewhere in
the runtime, but I'd like to understand what is going on here, and if there
is a, um, nicer API that I'm missing?
llvm::Value* C::getGlobalVariable(const char* name,
llvm::Type* t)
{
2005 Nov 02
1
[LLVMdev] Statically Initialized Arrays
On Nov 2, 2005, at 16:39, Chris Lattner wrote:
> 4. Replace the old GV with the new GV using code that looks like this:
>
> OldGV->replaceAllUsesWith(ConstantExpr::getCast(NewGV,
> OldGV->getType());
> OldGV->eraseFromParent();
>
> At the end of this, any instructions or other globals that referenced
> the temporary global will now reference the new one.
2012 Dec 10
2
[LLVMdev] how to get and modify a local variable's value through executionEngine?
hello guys,
recently, i successfully get and modify global variable by execution engine.
the functions i used are listed here:
int m=1;
EE->updateGlobalMapping(p->M->getGlobalVariable("x",true),&m);
EE->recompileAndRelinkFunction(EntryFn);
x is the global variable in the module.
but how to modify the local variable in the module?
--
View this message in context:
2015 Sep 14
2
JIT: Mapping global variable in JIT'ted code to variable in running program
Hi,
I think this is probably easiest to explain with code (I only provided the
essentials for clarity):
// begin file jit.cpp
int myglobal;
void printMyGlobal() {
printf("myglobal: %d\n", myglobal);
}
int main(int argc, char *argv[]) {
// This file, jit.cpp has been compiled to bitcode (clang -S -emit-llvm
jit.cpp)
// and is read into Module M here
Module *M = ...
2012 May 23
0
[LLVMdev] lli unable to resolve symbol _ZNKSt3__16locale9use_facetERNS0_2idE in bitcode
Ashok Nalkund wrote:
>
> Resending :(. Any pointers?
Fundamentally the issue is that the system linker is supposed to define
__dso_handle when linking, but since there is no system linker between
your build of the .bc files and running lli, nobody has defined it.
It seems reasonable to me that lli should define __dso_handle if it's
declared in the module.
You could module
2012 Sep 19
3
[LLVMdev] newbie question on getelementptr
Hi All,
I'm new to LLVM and I'm having a coding problem.
I'm creating a GlobalVariable that contains a StructType that contains a
Function. The function returns i32 and takes two i32's.
Here is my code:
GlobalVariable* retrieved = module->getGlobalVariable("myGV");
...
Constant* result = ConstantExpr::getGetElementPtr(retrieved, indices);
How do I get my Function
2016 Feb 05
2
gc relocations on exception path w/RS4GC currently broken
Sorry to reply to myself here, but I had an idea regarding "issue #2" -- possibly what makes the most sense for those clients/targets is to pull the pointer difference computation/reapplication into RS4GC itself -- it could have a pass just before or after rematerialization, which runs based on a configuration flag (eventually to be driven by GCStrategy), which performs rewrites like
2016 Feb 06
2
gc relocations on exception path w/RS4GC currently broken
Thanks, I think that's a useful way to look at it (though if I wanted to bikeshed I'd suggest the name "DoubleIndirect" as a bit more precise than "VeryIndirect").
An aspect of it that I'm still puzzling over is that my target runtime (at least in its current form) doesn't have a way to represent/process a "VeryIndirect" pointer. So I'd like to
2009 Sep 02
1
[LLVMdev] LangRef description of 'add nsw' doesn't match reality
The langref says for the 'add' instruction:
Syntax:
<result> = add <ty> <op1>, <op2> ; yields {ty}:result
<result> = nuw add <ty> <op1>, <op2> ; yields {ty}:result
<result> = nsw add <ty> <op1>, <op2> ; yields {ty}:result
<result> = nuw nsw add <ty> <op1>, <op2> ;
2018 Mar 21
0
lld/lto/win32 crash on DIE code
It looks the problem lies in how your compiler generates debug info. LLVM doesn't
expect DIDerivedType scope to be an instance of DICompileUnit. Here is a quick fix:
DIE *DwarfUnit::getOrCreateContextDIE(const DIScope *Context) {
- if (!Context || isa<DIFile>(Context))
+ if (!Context || isa<DIFile>(Context) || isa<DICompileUnit>(Context))
However, I suggest talking to
2009 Jan 09
0
[LLVMdev] RFC: Store alignment should be LValue alignment, not source alignment
Hi Evan,
> LValue LV = EmitLV(lhs);
> bool isVolatile = TREE_THIS_VOLATILE(lhs);
> unsigned Alignment = expr_align(exp) / 8
>
> It's using the alignment of the expression, rather than the memory
> object of LValue.
can't you just use expr_align(lhs) instead?
> The patch saves the alignment of the memory object in LValue returned
> by EmitLV().