similar to: [LLVMdev] TargetMachine::getTargetData

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] TargetMachine::getTargetData"

2004 Nov 29
2
[LLVMdev] Running specific passes
On Friday 26 November 2004 19:56, Chris Lattner wrote: > On Fri, 26 Nov 2004, Vladimir Prus wrote: > > in the implementation of some analysis, I need to change the program and > > then invoke Mem2Reg pass. That pass, in turn, requires other analysis, so > > I must > > Usually you want to do this at a higher level, why not just use 'opt > -yourpass -mem2reg'?
2004 Jun 19
1
[LLVMdev] The size of char
To figure out the size of data varaibles for my backend, I tries this code stolen from X86 backend: const TargetData& TD = m_tm.getTargetData(); unsigned size = TD.getTypeSize(initializer->getType()); However, the getTypeInfo function in TargetData.cpp contains this: case Type::VoidTyID: case Type::BoolTyID: case Type::UByteTyID: case Type::SByteTyID: Size = 1;
2004 Nov 26
2
[LLVMdev] Running specific passes
Hello, in the implementation of some analysis, I need to change the program and then invoke Mem2Reg pass. That pass, in turn, requires other analysis, so I must use PassManager. Here's the code I ended up with: bool runOnFunction(llvm::Function& m) { visit(m); ExistingModuleProvider mp(m.getParent());
2004 Nov 30
3
[LLVMdev] Running specific passes
On Monday 29 November 2004 19:39, Chris Lattner wrote: > > > Alternatively, if you don't want to do that, you can build mem2reg into > > > your pass if it works better. To do this, your pass needs to > > > 'addRequired' DominatorTree and DominatorFrontier, then use the > > > interfaces exposed through > > >
2006 May 15
0
[LLVMdev] Re: Re: New llvmgcc4 snapshot
Chris Lattner wrote: > On Sat, 13 May 2006, Vladimir Prus wrote: >>> If you're interested, please try it out. >> I get this with LLVM CVS: >> Adding: >> #include "llvm/Target/TargetData.h" >> Fixed this. > > Right, thanks. > >> Chris, any change you'll make gcc4 frontend source available from some >> CVS? Then, I can
2004 Nov 26
0
[LLVMdev] Running specific passes
On Fri, 26 Nov 2004, Vladimir Prus wrote: > in the implementation of some analysis, I need to change the program and then > invoke Mem2Reg pass. That pass, in turn, requires other analysis, so I must Usually you want to do this at a higher level, why not just use 'opt -yourpass -mem2reg'? Alternatively, if you don't want to do that, you can build mem2reg into your pass if it
2006 May 13
0
[LLVMdev] Re: New llvmgcc4 snapshot
Chris Lattner wrote: > > Hi All, > > There's a new snapshot of llvmgcc4 available here: > > http://nondot.org/sabre/2006-05-08-llvm-gcc-4.tar.gz > > This release includes the various portability fixes contributed on > llvmdev, includes fixes to build with mainline CVS (and, thus, *requires* > mainline CVS), and includes various other bug fixes. > > If
2006 May 15
1
[LLVMdev] Re: Re: New llvmgcc4 snapshot
The gcc4 tree is in svn. We believe it should be straight forward to create a public svn image but it will be late next week before we can set it up (minimal svn experience between Chris and myself.) Cheers, -- Jim On May 15, 2006, at 3:12 AM, Vladimir Prus wrote: > Chris Lattner wrote: > >> On Sat, 13 May 2006, Vladimir Prus wrote: >>>> If you're
2004 Jul 01
1
[LLVMdev] Size/Alignment handling bug?
I think there's possible bug in alignment handling. When getTypeInfo function in TargetData.cpp is called on: [100 x short] it always returns 200 as the size. However, if alignment for short is '4', then each array element should be aligned at 4-byte boundary, and the total size of the array is more like 400. For a while, I've made the attached local modification. Does it
2006 May 13
2
[LLVMdev] Re: New llvmgcc4 snapshot
On Sat, 13 May 2006, Vladimir Prus wrote: >> If you're interested, please try it out. > I get this with LLVM CVS: > Adding: > #include "llvm/Target/TargetData.h" > Fixed this. Right, thanks. > Chris, any change you'll make gcc4 frontend source available from some CVS? > Then, I can put together a script to build it every night, to make sure > things
2004 Jun 17
3
[LLVMdev] Primitive types
Hello, I'm getting this in debugger, where 't' is 'Type*': (gdb) p t->isPrimitiveType() $15 = false (gdb) p t->getPrimitiveID() $16 = PointerTyID (gdb) p t->getPrimitiveSize() $17 = 0 There are a couple of things that I'd like to ask. First, if isPrimitiveType() returns false, that the fact that getPrimitiveID returns reasonable value is quite
2004 Jun 03
2
[LLVMdev] How to write a new backend?
Hello, I'm considering a possibility of writing an llvm backend for my research uses. Unfortunately, I can't find much information on how do to it. I more or less understood now the C backend is implemented, but for real backend I'd need at least register allocation. I beleive there's already register allocator in LLVM and I would like to reuse it if possible. The question is
2010 May 28
0
[LLVMdev] how to get TargetData?
For those targets supported by LLVM, you can get their TargetData by creating TargetMachine first (take X86 as example): ==== BEGIN CODE SNIPPET ==== const std::string TripleStr = "i686-unknown-linux"; // hard coded for example const std::string FeatureStr = ""; // hard coded for example std::string Err; const Target* T; TargetMachine* TM = NULL; const
2004 Jun 17
0
[LLVMdev] Primitive types
On Thu, 17 Jun 2004, Vladimir Prus wrote: > I'm getting this in debugger, where 't' is 'Type*': > > (gdb) p t->isPrimitiveType() > $15 = false > (gdb) p t->getPrimitiveID() > $16 = PointerTyID > (gdb) p t->getPrimitiveSize() > $17 = 0 > > There are a couple of things that I'd like to ask. First, if >
2007 Jan 22
2
[LLVMdev] addPassesToEmit(Whole)File changes?
Hi folks, just installed the new llvm 1.9 build and noticed that my code no longer worked. It seems something has changed with addPassesToEmitFile(). First, the arguments to that method changed so that it no longer takes a PassManager, but only a FunctionPassManager. Instead there is a addPassesToEmitWholeFile() method, but that is marked as optional, and when I change my code to
2004 Nov 29
0
[LLVMdev] Running specific passes
On Mon, 29 Nov 2004, Vladimir Prus wrote: > On Friday 26 November 2004 19:56, Chris Lattner wrote: > > On Fri, 26 Nov 2004, Vladimir Prus wrote: > > > in the implementation of some analysis, I need to change the program and > > > then invoke Mem2Reg pass. That pass, in turn, requires other analysis, so > > > I must > > > > Usually you want to do this
2012 Feb 20
1
[LLVMdev] ARM opcode format
Hello, So the current JIT will be superseded by the MCJIT completely and no further development should be expected for the current JIT? In any case, I am definitely interested in submitting a patch if you could help me by sending me in the right direction, since I really want this working. I managed to reproduce this behavior in LLVM 3.0 by modifying llc to read my .bc file and try to JIT the
2010 May 28
4
[LLVMdev] how to get TargetData?
Dear all I am trying to get the size of an LLVM pointer type. getPrimitiveSizeInBits() returns 0 for it and the documentation for isSized() suggest to use TargetData. I figured out from Kaleidoscope example that one can get a pointer to TagetData object through the execution engine but it seems to be an overkill. What is the right way to do it? Best regards, Victor -------------- next part
2005 Apr 25
0
[LLVMdev] "Best" alias analysis algorithm
On Monday 25 April 2005 14:43, Vladimir Prus wrote: > The 'i' variable is never modified in the program, however, all analyses > except for -globalsmodref-aa report that the > > %tmp.3 = call int %_Z3bari( int %p ) ; <int> [#uses=1] > > instruction can modify 'i'. I'm somewhat surprised, because it looks like > -globalsmodref-aa is the simplest
2005 Apr 25
5
[LLVMdev] "Best" alias analysis algorithm
Hello, I'm playing with alias analysis, using the following program: %i = external global int ; <int*> [#uses=2] implementation ; Functions: int %_Z3bari(int %p) { entry: %tmp.0 = load int* %i ; <int> [#uses=1] %tmp.1 = setgt int %tmp.0, 10 ; <bool> [#uses=1] br bool %tmp.1, label %then, label %UnifiedReturnBlock then: