similar to: [LLVMdev] llvm metadata transformation pass

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] llvm metadata transformation pass"

2013 Feb 13
0
[LLVMdev] write a transformation pass
Hello everyone, I am trying to write a trivial adding metadata transformation pass. I have Test.bc the target on which I want to perform transformations. First, I compile with clang++ my target program and I have my resulting Test.bc. I save it under Test1.bc. As a particular example, I have " %myDimension = alloca %class.ThreeDimension, align 4 ". Second, I apply my pass :
2011 Nov 20
0
[LLVMdev] How can I output assembly comments from emitPrologue()?
So, an update. I have managed to generate comments, although it does create a non-existent instruction. My method is as follows (and I would appreciate any comments on how to do it "better", although note that this won't make it into the final code :).) 1. I declared a "fake" instruction type to hold comments, ala: class FakeInst<dag outs, dag ins, string asmstr,
2011 Nov 20
2
[LLVMdev] How can I output assembly comments from emitPrologue()?
Dear all, I am looking to output assembly comments in my emitPrologue() function, just for my own readability. Searching for a way to do this found me this thread - http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/043722.html, which says that the best way to output comments from somewhere like emitPrologue() is to: 1. Create an MDString for the comment. 2. Attach it to an LLVM
2011 Nov 21
0
[LLVMdev] How to get ELF section virtual starting address from MCSymbolRefExpr?
Yeh, I eventually figured that out. Thanks for responding though. Jack ________________________________________ From: llvmdev-bounces at cs.uiuc.edu [llvmdev-bounces at cs.uiuc.edu] on behalf of llvmdev-request at cs.uiuc.edu [llvmdev-request at cs.uiuc.edu] Sent: Sunday, November 20, 2011 10:00 AM To: llvmdev at cs.uiuc.edu Subject: LLVMdev Digest, Vol 89, Issue 47 Send LLVMdev mailing list
2011 Dec 21
0
[LLVMdev] creating new Metadata
> Dear llvm-ers, > I am trying to attach a customized metadata to llvm instructions. > Let's say, I want to attach some number to each instruction. > I am trying to use > > void Instruction::setMetadata(unsigned KindID, MDNode* Node) > > but I am not sure how to create a brand new instance of an MDNode. > Do you have any code samples demonstrating how to do that?
2013 May 02
0
[LLVMdev] int to StringRed conversion
Yes, it sounds good. I can try tomorrow. Thank you for your advice ! On Thu, May 2, 2013 at 5:43 PM, Logan Chien <tzuhsiang.chien at gmail.com>wrote: > I think the better solution should be: > > > LLVMContext& C = is->getContext(); > Value *values[] = { > ConstantInt::getSigned(Type::getInt64Ty(C), *scsr*), > MDString::get(C, *"path"*) > };
2013 May 02
2
[LLVMdev] int to StringRed conversion
I think the better solution should be: LLVMContext& C = is->getContext(); Value *values[] = { ConstantInt::getSigned(Type::getInt64Ty(C), *scsr*), MDString::get(C, *"path"*) }; lnstr.setMetadata(*"your_analysis_name"*, MDNode::get(C, values)); So that you can take advantage of the type system of LLVM bitcode, and don't have to cast the integers from/to strings
2011 Dec 22
0
[LLVMdev] creating new Metadata
On 12/21/11 11:24 PM, Oksana Tkachuk wrote: > Hello, > Thank you very much for the pointers. > I am are able to create new MDNodes, filled with some constants, and > attach them > to llvm instructions. However, the metadata map is not getting updated > as expected. > For example, instead of the expected new entry If you look at PoolMDPass::runOnModule(), you'll see that
2011 Dec 22
3
[LLVMdev] creating new Metadata
Hello, Thank you very much for the pointers. I am are able to create new MDNodes, filled with some constants, and attach them to llvm instructions. However, the metadata map is not getting updated as expected. For example, instead of the expected new entry !n = metadata !{some values} we are getting !n = metadata !{null} Do you know what might be wrong? Do we need to enter the MDNodes into the
2013 May 02
0
[LLVMdev] int to StringRed conversion
The problem is that I want to pass only srsr which is an int. "marked" was just an example :) Thanks you! On Thu, May 2, 2013 at 5:06 PM, Logan Chien <tzuhsiang.chien at gmail.com>wrote: > I'm not familiar with this, but maybe you can try: > > StringRef tst = ("marked" + Twine(srsr)).str(); > > It seems that you can't use integer as meta data
2013 Jan 24
1
[LLVMdev] llvm pass INITIALIZE
Hello everyone, Till now I have succesfully running passes using RegisterPass template. I have encountered a segfault in my pass. Assertion `AA && "AA didn't call InitializeAliasAnalysis in its run method!"' failed. Then, I tried to use INITIALIZE_PASS_XXXX or INITIALIZE_AG_PASS template, together with `*llvm::createMyMemDepPrinter()` and
2013 Apr 29
0
[LLVMdev] multiple metadata fields
            Hello everyone, As i saw that is not possible to add metadata to a basic block, it is possible to add more metadata fields to an instruction? I saw that in the definition of setMetadata(), it updates/replaces the metadata if already existent. As far as I understand, updates=replaces, not updates OR replaces. I add metadata using :             LLVMContext& C =
2013 Jan 31
2
[LLVMdev] Tablegen problem populating TSFlags
It seems like this code should work with Tablegen, but it generates the error: "error:Invalid TSFlags bit in ADD" Here's the code: =================================== include "llvm/Target/Target.td" def MyInstrInfo : InstrInfo; def MyTarget : Target { // Information about the instructions... let InstructionSet = MyInstrInfo; } def r1 :
2013 Mar 15
2
[LLVMdev] write a simple MachineFunctionPass
Hello everyone, I have written several complex passes till now, but I cannot write a MachineFunctionPass pass. It just gives me segfault. Hence I reduced the pass to the following form : using namespace llvm; namespace { class CFGexplorator : public MachineFunctionPass { public: static char ID; // Pass identification, replacement for typeid CFGexplorator() : MachineFunctionPass(ID)
2013 Mar 15
0
[LLVMdev] write a simple MachineFunctionPass
I found that : "Code generator passes are registered and initialized specially by TargetMachine::addPassesToEmitFile and similar routines, so they cannot generally be run from the *opt* or *bugpoint* commands."...So how I can run a MachineFunctionPass? In the end, I just want to apply a DFS on a CFG of a function. And I need oriented edges and wanted to use
2010 Jun 29
0
[LLVMdev] Queries of an invalidated AA ModulePass
On Jun 29, 2010, at 9:59 AM, Will Dietz wrote: > Hi all, > > While working on a loadable Alias Analysis module pass, I'm running > into the following issue: > > I'm finding my pass queried for results after it has had > 'releaseMemory' called on it and its dependencies, but before > runOnModule is called again (on my pass or its deps). As you might >
2014 Oct 27
2
[LLVMdev] First-class debug info IR: MDLocation
> On 2014-Oct-27, at 00:58, Chandler Carruth <chandlerc at google.com> wrote: > > I haven't been able to follow all of the thread that got us here but your patch below has distilled the result enough for me to at least ask questions. Always takes a patch to draw people in :). > I'm sorry of some of the justification is buried in the thread and I'm just making you
2010 Jun 29
3
[LLVMdev] Queries of an invalidated AA ModulePass
Hi all, While working on a loadable Alias Analysis module pass, I'm running into the following issue: I'm finding my pass queried for results after it has had 'releaseMemory' called on it and its dependencies, but before runOnModule is called again (on my pass or its deps). As you might expect, this makes my pass rather unhappy (and I think correctly so). This happens with LICM
2010 Oct 25
2
[LLVMdev] Prevent instruction elimination
Hi, John Criswell-4 wrote: > > > You may want to use LLVM Metadata features. Search for MDNode in the > doxygen docs for some information on how to create metadata. > > I use metadata information in this way: unsigned mk = Context.getMDKindID(mdtype); Value *V = MDString::get(Context,StringRef(str)); MDNode* n = MDNode::get(Context, &V, 1);
2015 Apr 15
2
[LLVMdev] RFC: Metadata attachments to function definitions
> On 2015-Apr-15, at 08:59, Reid Kleckner <rnk at google.com> wrote: > > Conventional wisdom, which is often wrong, says that bytes in Function are precious. In the past we've bent over backwards to put bits on Function and have DenseMaps in LLVMContexts and Modules. I think this is probably the *wrong* approach for debug info, which, when it's being used, is used