similar to: [LLVMdev] Getting Static Array Content

Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] Getting Static Array Content"

2012 Sep 28
0
[LLVMdev] Fwd: Re: Getting Static Array Content
Forgot cc'ing the list... -------- Original Message -------- Subject: Re: [LLVMdev] Getting Static Array Content Date: Fri, 28 Sep 2012 08:55:51 +0200 From: Ivan Llopard <ivanllopard at gmail.com> To: Ryan Taylor <ryta1203 at gmail.com> Hi Ryan, On 28/09/2012 02:07, Ryan Taylor wrote: > I'm trying to get the values in a static global array. What is the > best
2012 Sep 28
0
[LLVMdev] Getting Static Array Content
Ivan, Yes, I had used these for some other values. Looks like this is a constant type that I wasn't accounting for. Thanks. On Thu, Sep 27, 2012 at 11:55 PM, Ivan Llopard <ivanllopard at gmail.com>wrote: > Hi Ryan, > > > On 28/09/2012 02:07, Ryan Taylor wrote: > > I'm trying to get the values in a static global array. What is the best > way to go about
2017 May 22
2
DebugInfo, Metadata usage
Hello LLVM Community, I'm working on some analyzer\checker and want to implement checker for variables. In that case, I want to retrieve some information about types of variables or identify that the variable is either string or not. As an example, for strings which can be char or string type I came up with a solution to find it out via isString or isCString methods. But for strings whose
2004 Dec 03
1
[Fwd: [LLVMdev] GetElementPtr for packed types and VS build]
This needs to be applied as well. Thanks, Reid. -----Forwarded Message----- > From: Morten Ofstad <morten at hue.no> > To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> > Subject: [LLVMdev] GetElementPtr for packed types and VS build > Date: Wed, 01 Dec 2004 15:10:49 +0100 > > As I was working with packed types it became apparent that I sometimes >
2014 Mar 21
3
[LLVMdev] lli crashes when running cpp programs
Hi all, I need to run c++ prgrams using lli. However, I find lli cannot handle the alias instruction correctly. Following is an example: ------------ example.cc ------------- #include <iostream> using namespace std; class cls { public: cls(); ~cls(); }; cls::cls() { cout << "constructor" << endl; }; cls::~cls() { cout <<
2004 Dec 01
1
[LLVMdev] GetElementPtr for packed types and VS build
As I was working with packed types it became apparent that I sometimes need to access individual elements - I fixed this by implementing GEP for packed types with just 2 small patches. When I updated from the CVS today after about 2 weeks, I got a lot of problems with the VS build. I will send the updated project files directly to Reid so he can check them in as they are rather large. There
2014 Aug 09
2
[LLVMdev] difference between replaceAllUsesWith and replaceUsesOfWith?
Why is the first for loop not equivalent to the second? Thanks, Rob =========================== for (GlobalVariable **i = Globals.begin(), **e = Globals.end(); i != e; ++i) { GlobalVariable *GV = *i; Constant *GEP = ConstantExpr::getGetElementPtr(...); GV->replaceAllUsesWith(GEP); } =========================== for (GlobalVariable **i = Globals.begin(), **e = Globals.end(); i != e;
2011 Mar 21
1
[LLVMdev] Text or Data symbol
On 3/21/11 2:00 PM, Damien Vincent wrote: > I reply to myself... I didn't go in the right direction in my previous > email. > > There is an easy way to tell if a GlobalValue corresponds to data or code: > const GlobalValue *GV; > if(Function::classof(GV)) > ... // process the global value as a function > else > ... // process the global value as data > >
2012 Jan 28
1
[LLVMdev] How to get the string value?
Hey Duncan, Thanks! I figured out this piece of code finally: Value *gep = call->getArgOperand(0); if ( ConstantExpr *pCE = dyn_cast<ConstantExpr>(gep) ) { Value *firstop = pCE->getOperand(0); if (GlobalVariable *GV = dyn_cast<GlobalVariable>(firstop)){ Constant *v = GV->getInitializer(); if
2011 Apr 15
0
[LLVMdev] llvm instrinsic (memcpy/memset/memmov)and ConstantExpression with cast
On 4/14/11 6:34 PM, Kodakara, Sreekumar V wrote: > > Hi All, > > I have a question on ConstantExpressions and llvm intrinsic > memcpy/memset/memmove. I am using llvm-2.8 release. In one of the C > programs that I am compiling using clang frontend, the call to memcpy > instrinsic looks like the following > > call void @llvm.memcpy.p0i8.p0i8.i64(i8* %tmp2, i8* bitcast
2011 Nov 15
0
[LLVMdev] constructing global array of pointers?
I'm trying to create a GlobalVariable(that is a ConstantArray) in its own section. I want each element to be a pointer to a global thats already in the program(a variable or function). The follow code makes sense to me and compiles fine, but gives me the wrong output. When I look at the section in the ELF file it is larger than I expected and appears to be wrong. The contents of the array do
2017 May 24
2
DebugInfo, Metadata usage
I'll ask again that question. Thank you Adrian, I've looked through IR Verifier and it helps me to understand some parts of retrieving metadata and debug info. But , after that, I've faced with another problem: Original Code: std::wcout << L"WCHAR_HELLOWORLD" << std::endl;b IR Code: @.str.2 = private unnamed_addr constant [17 x i32] [i32 87, i32 67, i32 72,
2010 Jun 01
2
[LLVMdev] How to create global string array? (user question)
I am trying to create such module with API (it's equivalent to c++: const char* ss[] = {"s1","s2"};): @ss = global [2 x i8*] [i8* getelementptr inbounds ([3 x i8]* @.str1, i32 0, i32 0), i8* getelementptr inbounds ([3 x i8]* @.str2, i32 0, i32 0)] ; <[2 x i8*]*> [#uses=0] @.str1 = private constant [3 x i8] c"s1\00", align 1 ; <[3 x i8]*> [#uses=1]
2013 Aug 02
1
[LLVMdev] replacing GetElementPtrConstantExpr with GetElementPtrInst ... sometimes
Hi During a pass, the XCore target lowers thread local global variables by turning them into global variable arrays indexed by the (max 8) thread ID. (see XCoreLowerThreadLocal.cpp) This works fine for instructions e.g. GetElementPtrInst But can't be done for constants e.g. GetElementPtrConstantExpr Thus I would like to replace GetElementPtrConstantExpr with GetElementPtrInst when it is
2015 Sep 18
2
GlobalOPT and sections
Hello everyone, This is a rather ancient code with Chris's name all over it, so I naturally feel humbled :) I see a conceptual issue in lib/Transforms/IPO/GlobalOpt.cpp with several optimizations that create a copy of GlobalVariable without copying attributes from the original one. Consider this one: http://llvm.org/doxygen/GlobalOpt_8cpp_source.html static bool
2006 Mar 27
1
[LLVMdev] could you give me some advice ?
excuse me for bother you again . a little supplement Constant* c = findValue(m,"E1$entry"); Constant* c2 = findValue(m,"E1$str"); I can get string object from c2 string s = cast<ConstantArray>(c2)->getAsString(); but it is not applicable for c string s= cast<ConstantArray>(c)->getAsString(); // Assert Fail because c is ConstantExpr::GetElementPtr
2005 Nov 02
0
[LLVMdev] Statically Initialized Arrays
On Wed, 2 Nov 2005, Evan Jones wrote: > I am trying to generate LLVM code that references a global array. > Unfortunately, while I am generating the code I do not know the final length > of the array, as I add elements to it as my compiler goes along. What is the > best way to do this in LLVM? Ideally, I would be able to define the > GlobalVariable array and change its length
2011 Nov 24
1
[LLVMdev] differences in IR and ELF?
I'm trying to create a GlobalVariable that is a ConstantArray. Id like each element to be a pointer to other things in the program(global variables, functions). So that they all have the same type Id like to make the elements void pointers. I think I am going about this wrong, heres how I am doing it: void writeArray(Module &M, GlobalVariable *shadow, Function *val,
2008 Jul 21
0
[LLVMdev] Casting between address spaces and address space semantics
Hi Matthijs, Thanks for giving some code so we can discuss this in more concrete detail. In terms of the information we need, I think you have it right. We just need a description of how the different address spaces relate and I don't see much of an issue with how you implemented to InstructionCombining. As you also mentioned, I don't like that we pass a reference to
2013 Mar 07
1
[LLVMdev] array of pointers
                              The getInitializer() method of a GlobalVariable returns 4 pointers like below. [4 x i32*] [i32* getelementptr inbounds ([256 x i32]* @CRC24ATable, i32 0, i32 0), i32* getelementptr inbounds ([256 x i32]* @CRC24BTable, i32 0, i32 0), i32* getelementptr inbounds ([256 x i32]* @CRC16Table, i32 0, i32 0), i32* getelementptr inbounds ([256 x i32]* @CRC8Table, i32 0,