similar to: [LLVMdev] metadata syntax

Displaying 20 results from an estimated 50000 matches similar to: "[LLVMdev] metadata syntax"

2009 Apr 22
0
[LLVMdev] metadata syntax
Hi Nick, > I'm looking for input into the syntax for future metadata work. The plan > is to make MDNodes hold a list of WeakVHs which will allow us to track > metadata associated with values even through calls to > ReplaceAllUsesWith. It also means that you can refer to other Values in > the program, including instructions in another Function. > > That's where
2009 Apr 23
5
[LLVMdev] metadata syntax
Duncan Sands wrote: > Hi Nick, > >> I'm looking for input into the syntax for future metadata work. The plan >> is to make MDNodes hold a list of WeakVHs which will allow us to track >> metadata associated with values even through calls to >> ReplaceAllUsesWith. It also means that you can refer to other Values in >> the program, including instructions
2009 Apr 23
0
[LLVMdev] metadata syntax
Hi Nick, > It'd be nice to say "this StoreInst doesn't overlap that StoreInst" in a > metadata. Or perhaps "here's the likely values for this SwitchInst". well... ok, if you must :) > I have only weak ideas for how interprocedural metadata could be used, > but it's clear that an MDNode made out of WeakVH's could hold one, which > is why
2013 Jan 18
2
[LLVMdev] How to get more details from storeInst ?
I have a loop fully unrolled and got the following store instruction. store i32 %add.3, i32* getelementptr inbounds ([20 x [20 x i32]]* @c, i32 0, i32 0, i32 0), align 4 I want to know exactly which element of the array that is going to be stored, which help me to transform the high level language to hardware. Take the instruction above as an example, I know the data is stored into c[0][0]. It
2012 Apr 22
2
[LLVMdev] Remove function from module
It is ModulePass with AnalysisUsage of CallGraph Yours sincerely, Kadysev Mikhail 22.04.2012, в 5:20, Nick Lewycky написал(а): > Михаил wrote: >> Thanks, but I replaceAllUsesWith() - works well, but I still get bug in >> eraseFromParent(): >> >> While deleting: i32 (%class.B*, i32)* %_ZN1B1xEi >> An asserting value handle still pointed to this value! >>
2014 Nov 10
12
[LLVMdev] [RFC] Separating Metadata from the Value hierarchy
TL;DR: If you use metadata (especially if it's out-of-tree), check the numbered list of lost functionality below to see whether I'm trying to break your compiler permanently. In response to my recent commits (e.g., [1]) that changed API from `MDNode` to `Value`, Eric had a really interesting idea [2] -- split metadata entirely from the `Value` hierarchy, and drop general support for
2013 Jan 18
0
[LLVMdev] How to get more details from storeInst ?
Hi Cheng, On 18/01/13 03:00, Cheng Liu wrote: > I have a loop fully unrolled and got the following store instruction. > > store i32 %add.3, i32* getelementptr inbounds ([20 x [20 x i32]]* @c, i32 0, > i32 0, i32 0), align 4 > > I want to know exactly which element of the array that is going to be > stored, which help me to transform the high level language to hardware. Take
2012 Apr 22
0
[LLVMdev] Remove function from module
Михаил wrote: > It is ModulePass with AnalysisUsage of CallGraph Ah, then you'll need to update the CallGraph first. Use "CG.removeFunctionFromModule(F);" before deleting it. Nick > Yours sincerely, > Kadysev Mikhail > > 22.04.2012, в 5:20, Nick Lewycky написал(а): > >> Михаил wrote: >>> Thanks, but I replaceAllUsesWith() - works well, but I still
2008 Jun 28
2
[LLVMdev] need to store the address of a variable
Hello everybody, my problem is, that I want to get an array of pointers to all local variables in a function. This array will be used for transfering these Variables to another execution engine. I've code which generates this array, and a pointer to the target field of the array. name = variables.fname + "_pointerArray"; Instruction* pointerArray = new
2015 Jan 17
2
[LLVMdev] Assertion: replaceAllUses of value with new value of different type! being thrown all of a sudden
Hello, I wonder if someone would know what is going on below. All of a sudden I’m getting this assertion thrown: Assertion failed: (New->getType() == getType() && "replaceAllUses of value with new value of different type!"), function replaceAllUsesWith, file /Users/meister/Development/externals-clasp/llvm36/lib/IR/Value.cpp, line 345. It’s happening when
2011 Aug 04
2
[LLVMdev] metadata linking bug or by design
I looked at an earlier version. NamedMDNodes were linked after global values. Current trunk version links NamedMDNodes before that, though the comment says otherwise: "We do this after linking GlobalValues so that MDNodes that reference GlobalValues are properly remapped". see ModuleLinker::run in lib/Linker/LinkModules.cpp. If I move the call to linkNamedMDNodes in ModuleLinker::run
2015 Jan 19
2
[LLVMdev] Assertion: replaceAllUses of value with new value of different type! being thrown all of a sudden
I forgot to mention this in my initial email. The build of LLVM that I was using was commit a0d5d7aed8e177cea381b3d054d80c212ece9f2c The date on the commit is: Date: Fri Sep 26 12:34:06 2014 Also: Today I grabbed the ToT llvm/clang/clang-extra-tools and I’m working on getting my code to be compatible with it. I can switch back and forth between the current ToT llvm and the old one. Thanks,
2011 Aug 04
0
[LLVMdev] metadata linking bug or by design
On Aug 4, 2011, at 11:30 AM, Xi Wang wrote: > I looked at an earlier version. NamedMDNodes were linked after global > values. Current trunk version links NamedMDNodes before that, though > the comment says otherwise: "We do this after linking GlobalValues so > that MDNodes that reference GlobalValues are properly remapped". see > ModuleLinker::run in
2009 Sep 16
1
[LLVMdev] [proposal] Extensible IR metadata
On Tue, Sep 15, 2009 at 11:37 PM, Devang Patel <devang.patel at gmail.com> wrote: > On Fri, Sep 11, 2009 at 9:57 AM, Chris Lattner <clattner at apple.com> wrote: >> Devang's work on debug info prompted this, thoughts welcome: >> http://nondot.org/sabre/LLVMNotes/ExtensibleMetadata.txt > > Here is partial initial implementation. > Thoughts ? setHasMetadata
2019 Jul 03
2
optimisation issue in an llvm IR pass
Hello, I have an optimisation issue in an llvm IR pass - the issue being that unnecessary instructions are generated in the final assembly (with -O3). I want to create the following assembly snippet: mov dl,BYTE PTR [rsi+rdi*1] add dl,0x1 adc dl,0x0 mov BYTE PTR [rsi+rdi*1],dl however what is created is (variant #1): mov dl,BYTE PTR [rsi+rdx*1] add dl,0x1 cmp
2019 Jul 03
3
optimisation issue in an llvm IR pass
Hi Craig, On 03.07.19 17:33, Craig Topper wrote: > Don't the CreateICmp calls return a Value* with an i1 type? But then > they are added to an i8 type? Not sure that works.  I had that initially: auto cf = IRB.CreateICmpULT(Incr, ConstantInt::get(Int8Ty, 1)); auto carry = IRB.CreateZExt(cf, Int8Ty); Incr = IRB.CreateAdd(Incr, carry); it makes no difference to the generated assembly
2013 Jun 20
9
[LLVMdev] Proposal: type uniquing of debug info for LTO
The intent of this proposal is to speedup compilation of "-flto -g" for c++ programs. This is based on discussions with Adrian, David and Eric. --------------------------- Problem: A single class can be used in multiple source files and the DI (Debug Info) class is included in multiple bc files. The duplication of class definitions causes blow-up in # of MDNodes, # of DIEs, leading to
2009 Nov 22
1
[LLVMdev] embedded metadata
I have a quick question about embedded metadata. I've lost track of exactly what we want to support. What about making MDNodes that refer to Instructions? Is that desired any more, or is that obsolete? I had a patch to do this locally and I either want to fix it up and commit it or discard it. The relevant section of my locally modified test/Feature/embeddedmetadata.ll reads: define
2020 May 15
2
Issues with new Attributor (replaceAllUses fails with type mismatch)
[AMD Official Use Only - Internal Distribution Only] Hi , There seems to be some issue with attributor, exactly in File Attributor.cpp, Function Attributor::rewriteFunctionSignatures(), Line No: 1600 (approrimate). The llvm source code at above address is as follows: // Eliminate the instructions *after* we visited all of them. for (auto &CallSitePair : CallSitePairs) {
2012 Apr 21
4
[LLVMdev] Remove function from module
Thanks, but I replaceAllUsesWith() - works well, but I still get bug in eraseFromParent(): While deleting: i32 (%class.B*, i32)* %_ZN1B1xEi An asserting value handle still pointed to this value! UNREACHABLE executed at /Users/neonomaly/LLVM/LLVM/lib/VMCore/Value.cpp:561! Yours sincerely, Kadysev Mikhail 21.04.2012, в 23:45, Nick Lewycky написал(а): > Михаил wrote: >> How correctly