similar to: getting the value back from metadata

Displaying 20 results from an estimated 200 matches similar to: "getting the value back from metadata"

2015 Jan 29
2
[LLVMdev] prevent frontend from emitting i64
Is it just an optimization pass? Maybe I can cancel it somehow with a flag or by doing some code editing? Can you point me to which passes may do that? I'm working on editing a backend that can't work with anything larger than 32 bits. Does the legalize stage work on IR code? Maybe i can use that? On Jan 29, 2015 5:41 AM, Ruiling Song <ruiling.song83 at gmail.com> wrote: LLVM
2015 Jan 14
3
[LLVMdev] Crash on invalid during LLVMContext destruction MDNode::dropAllReferences
Hi Duncan, I came across something like the following recently which I guess might be related to your recent work. Any ideas? $ clang++-tot -cc1 crash_on_invalid.cpp -g -emit-obj -fexceptions -fcxx-exceptions crash_on_invalid.cpp:13:1: error: C++ requires a type specifier for all declarations x; ^ 1 error generated. *** Error in `clang++-tot': corrupted double-linked list: 0x000000000754f340
2015 Jan 30
0
[LLVMdev] prevent frontend from emitting i64
Generally legalize at IR level is not a good idea. But if you need legalization on IR code, you can check PNaCl project. https://chromium.googlesource.com/native_client/pnacl-llvm/ The pass is located at: lib/Transforms/NaCl/ExpandLargeIntegers.cpp You need make some change, as the pass split large integer into 64bit integers. 2015-01-29 16:06 GMT+08:00 Alon Shaltiel (ashaltie) <ashaltie at
2013 Aug 08
1
[LLVMdev] Metadata in the backend
Hi all, I'm looking for a way to insert metadata into an instruction/function/basic-block in the IR level, and afterwards reading it in the backend (ARM to be exact). So my questions are: 1. Does/can the metadata in the IR survive the code-generator in some way? 2. Is there a general of 'communication' between the optimizer and the backend? Thanks! Alon
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
2014 Nov 13
2
[LLVMdev] [RFC] Separating Metadata from the Value hierarchy
> On Nov 12, 2014, at 1:00 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: > > If you don't care about function-local metadata and debug info > intrinsics, skip ahead to the section on assembly syntax in case you > have comments on that. > >> On 2014-Nov-09, at 17:02, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: >> >>
2020 Apr 30
2
Mapping a retained DILocalVariable back to its Function
Hi all, I'm dealing with LLVM's debug information metadata, and have run into an interesting edge case. Under normal circumstances, every `DILocalVariable` has a `User` in the form of the `llvm.dbg.*` intrinsic that produced it. Knowing this, I can go from `DILocalVariable` to `MetadataAsValue`, grab the users, and end up at the corresponding instruction + function. In some cases,
2014 Nov 13
2
[LLVMdev] [RFC] Separating Metadata from the Value hierarchy
On 11/12/2014 01:00 PM, Duncan P. N. Exon Smith wrote: > If you don't care about function-local metadata and debug info > intrinsics, skip ahead to the section on assembly syntax in case you > have comments on that. > >> On 2014-Nov-09, at 17:02, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: >> >> 2. No more function-local metadata. >>
2014 Nov 10
5
[LLVMdev] [RFC] Separating Metadata from the Value hierarchy
> On 2014-Nov-10, at 08:30, Chris Lattner <clattner at apple.com> wrote: > >> On Nov 9, 2014, at 5:02 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: >> 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
2020 Mar 25
4
Multi-Threading Compilers
On Wed, Mar 25, 2020 at 8:52 AM Doerfert, Johannes <jdoerfert at anl.gov> wrote: > I think the solution space for the value/use-list issue might be larger > than what was mentioned so far. > > > Some random thoughts: > > If no pass ever walks the use list of a constant, except globals which > we could handle differently, we could get rid of their use-list or >
2020 Jul 19
2
Instrument intrinsic invalid
Hi, I try to use llvm-dis to disassemble the result after opt, my pass will add a intrinsic after the load instruction, like following: bool fpscan::ldAddMetadata (Instruction *Inst, StringRef c) { std::vector<Metadata *> dataTuples; // Add metadata in list dataTuples.push_back(MDString::get(Inst->getContext(), c)); MDNode* N = MDNode::get(Inst->getContext(),
2020 Apr 30
2
Discrepancy between Debug and Release+Asserts versions of Clang/LLVM
Hello, I am editing the LowerTypeTests pass in LLVM, and part of my additions include the following 3 lines of code: // newTypeName is a std::string MDString* newMD = MDString::get(M.getContext(), newTypeName); ArrayRef<Metadata*> mdArray {ConstantInt::get(Int64Ty, 0), newMD}; auto* node = MDTuple::get(M.getContext(), mdArray); Thus far, I have been developing on a version of Clang with
2012 Nov 14
2
[LLVMdev] Clang error - CPU feature not currently enabled
From: Shaltiel, Alon Sent: Wednesday, November 14, 2012 11:39 AM To: 'llvmdev at cs.uiuc.edu' Subject: Clang error - CPU feature not currently enabled Hello, I'm trying to use clang to compile a file on Mac OS (x86_64) and get the following error. <inline asm>:4:2: error: instruction requires a CPU feature not currently enabled jmp *%edx ^ fatal error: error in
2020 Apr 30
2
Discrepancy between Debug and Release+Asserts versions of Clang/LLVM
I agree that the ArrayRef is likely the issue. I've debugged a crash caused by a temporary ArrayRef like that a couple times. Either do what David suggested or use a normal array: Metadata *mdArray[] = {ConstantInt::get(Int64Ty, 0), newMD}; ~Craig On Thu, Apr 30, 2020 at 9:56 AM David Blaikie via llvm-dev < llvm-dev at lists.llvm.org> wrote: > > > On Thu, Apr 30, 2020 at
2012 Nov 14
2
[LLVMdev] Clang error - CPU feature not currently enabled
Most likely candidate for sure. Not a helpful error message though :( -eric On Wed, Nov 14, 2012 at 8:17 AM, Craig Topper <craig.topper at gmail.com>wrote: > I believe it's failing on 64-bit because that's a 32-bit indirect jump. > 64-bit needs jmp *%rdx. > > > On Wednesday, November 14, 2012, Shaltiel, Alon wrote: > >> ** ** >> >> ** **
2016 Oct 29
1
Problems with Inline ASM expressions generated in the back end
Hello. I generated in the back end by hand (in C++ code, not with TableGen) some fancy assembly code using Inline ASM expressions and if I use 2 functions in my source code (but NOT just 1 function; I will not present the functions, but each requires me to generate an Inline ASM expression) I get this error at compilation (at scheduling): BB#0: derived from LLVM BB %entry
2012 Nov 14
0
[LLVMdev] Clang error - CPU feature not currently enabled
I believe it's failing on 64-bit because that's a 32-bit indirect jump. 64-bit needs jmp *%rdx. On Wednesday, November 14, 2012, Shaltiel, Alon wrote: > ** ** > > ** ** > > *From:* Shaltiel, Alon > *Sent:* Wednesday, November 14, 2012 11:39 AM > *To:* 'llvmdev at cs.uiuc.edu <javascript:_e({}, 'cvml', > 'llvmdev at cs.uiuc.edu');>'
2019 Nov 19
2
DW_OP_implicit_pointer design/implementation in general
> On Nov 18, 2019, at 8:33 AM, Jeremy Morse <jeremy.morse.llvm at gmail.com> wrote: > > Hi llvm-dev@, > > Switching focus to the LLVM implementation, the significant change is > using dbg.value's first operand to refer to a DILocalVariable, rather > than a Value. There's some impedance mismatch here, because all the > documentation (for example in the
2012 Nov 14
0
[LLVMdev] Clang error - CPU feature not currently enabled
Yep. That diagnostic is terrible. As of r167937 we get: error: instruction requires: 32-bit mode jmp *%edx ^ -Jim On Nov 14, 2012, at 8:41 AM, Eric Christopher <echristo at gmail.com> wrote: > Most likely candidate for sure. Not a helpful error message though :( > > -eric > > > On Wed, Nov 14, 2012 at 8:17 AM, Craig Topper <craig.topper at gmail.com> wrote:
2012 Dec 17
2
[LLVMdev] target arm
Hello, I'm trying to use clang to compile a file in an x86 machine (running i386 GNU/Linux) to ARM. In the end, all I want is for the bit code (I use -emit-llvm) getArch() result to be Triple::ARM. I tried to use "-target arm" but I get a "fatal error: 'bits/predefs.h' file not found". Is there any easy way to make the target architecture "ARM" without