similar to: Translation of custom attribute (defined for variables) from clang to llvm

Displaying 20 results from an estimated 2000 matches similar to: "Translation of custom attribute (defined for variables) from clang to llvm"

2016 Nov 25
3
Translation of custom attribute (defined for variables) from clang to llvm
Hi Asit, thanks for the reply. But I guess I was not clear in my question. Actually, i dont want to use __ATTRIBUTE__((ANNOTATE("MOVIATTR"))), since in documentation it is stated that "This intrinsic allows annotation of local variables with arbitrary strings. This can be useful for special purpose optimizations that want to look for these annotations. These have no other
2016 Nov 28
2
Translation of custom attribute (defined for variables) from clang to llvm
Hi John, I have looked into the EmitAutoVarAlloca() in CGDecl.cpp. However, I could not figure out how to employ my custom attribute for code generation. For example, my custom attribute is visible in CGDecl.cpp but how can I generate based on my custom attribute if (D.hasAttr<myCustomAttri>()) { //What to do here? } What I wan in IR is something like below. Without Custom Attribute:
2015 May 25
4
[LLVMdev] LLVM profiling
Hi guys, I am trying to perform edge profiling using on hello.bc file by using following command opt -insert-edge-profiling hello.bc -o hello-edge.bc but I get the error that option "-insert-edge-profiling" is unknown. Can you please help me to solve the issue. Please note that I am following the paper available at this link http://llvm.org/pubs/2010-12-Preuss-PathProfiling.pdf
2016 Sep 20
4
LLVM v3.9.0 and math built-ins
Hi Mehdi, The ISO C specification does permit the math functions to modify ‘errno’, but I thought that the ‘-fno-math-errno’ option was to tell the optimiser to assume that ‘errno’ is not modified by the math functions. Explicitly providing ‘-fno-math-errno’ is not restoring the elision optimisation that was performed by LLVM v3.8, and this is really only a driver option, with ‘-fmath-errno’
2015 May 28
1
[LLVMdev] Opt option -dot-edge-numbers
Dear All, I am using the release 33 of LLVM. This release supports -insert-edge-profiling option for opt. But it doesnt provide/supports the -dot-edge-numbers option. Where can I find the file implementing this option (e.g, the source file for edge profiling is located in lib/transforms/instrumentation)? Please help me out. Thanks Naveed Ul Mustafa
2016 Sep 16
2
LLVM v3.9.0 and math built-ins
A little while ago I asked a question on CFE-Dev about a change in the behaviour of programs using the ISO C math functions, although that question should have been put to LLVM-Dev. But I got excellent clarification of the problem anyway. However, since then I have been trying to adapt our out-of-tree implementation to get the previous behaviour. The problem is that something like: #include
2016 Dec 13
1
Lowering the metadata attached to an instruction down to Pattern Instruction Selection pass
Hello devlopers, I request your guidance on how to lower the metadata attached with an instruction. Following is given the IR dump before Module verifier pass, and there is a string "Tile3" attached as metadata with instruction "%x = alloca i32, align 4, !Tile3 !1". My target is to transmit/propagate the string down to post RA-Scheduling pass. Is it possible? If yes, how
2020 May 21
2
Updated llc does not compile my .ll files any more [addrspace on AVR problem?]
Hi, I’ve come back and updated my llvm toolset with modern code (my branch was about 1-2 years old) and now the llvm IR files produced by my front end no longer compile with llc. Here is a sample of llvm ir produced by my front end (it’s a standard version 3.1 build of swift from the swift.org open source website). ; ModuleID = 'main.ll' source_filename = "main.ll" target
2020 May 21
2
Updated llc does not compile my .ll files any more [addrspace on AVR problem?]
That’s useful info, thanks. I think it will be useful for me to understand the connection, why this type of pointer is being emitted now. Do you have any suggestions where i can look to find the platform specific code that is making function pointers go into addrspace? Carl p.s. I am also working on passing the avr target flag to swift, but swift itself had (has?) limitations that make it
2016 Dec 02
2
Is the instruction %4 = select i1 %tobool.i, metadata !12, metadata !10 legal?
To reproduce the issue, please use the command line "opt -simplifycfg filename". target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" %struct.G = type { %struct.ordered_index_node*, i32 } %struct.ordered_index_node = type { %struct.B, %struct.F } %struct.B = type { i32 } %struct.F = type { i32*, i32* }
2020 May 21
2
Updated llc does not compile my .ll files any more [addrspace on AVR problem?]
Cool. That explains a lot! Sorry if this is a total n00b question, but… how does the datalayout string get overridden? in llvm/lib/Target/AVR/AVRTargetMachine.cpp I can see the code that determines the default datalayout for AVR… static const char *AVRDataLayout = "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8”; However in the LLVM iR below, the target datalayout was present and
2019 May 13
3
How to change CLang struct alignment behaviour?
Hi Joan, On Mon, 13 May 2019 at 18:01, Joan Lluch <joan.lluch at icloud.com> wrote: > After looking at it a bit further, I think this is a Clang thing. Clang issues “align 2” if the struct has at least one int (2 bytes), but also if the entire struct size is multiple of 2. For example a struct with 4 char members. In these cases the LLVM backend correctly creates word sized load/stores
2018 May 19
2
tbaa error: Access type node must be a valid scalar type
Hi I am upgrading my clang fork from 5.0 to 6.0 and I am hit by this error: Access type node must be a valid scalar type %4 = load %"struct.Foo::p.test1::"*, %"struct.Foo::p.test1::"** %_param.addr, align 8, !tbaa !16 !16 = !{!15, !15, i64 0} !15 = !{!"p.test1::", !13, i64 0, !13, i64 8} It looks like !16 is referencing !15, which is a struct. !13 is !13 =
2016 Dec 02
4
Is the instruction %4 = select i1 %tobool.i, metadata !12, metadata !10 legal?
Hi, The phase of instruction combine cannot handle the instruction %4 = select i1 %tobool.i, metadata !12, metadata !10 generated by the phase of CFG simplification and the compiler generates an assertion failure. I wonder whether this is valid LLVM IR: %4 = select i1 %tobool.i, metadata !12, metadata !10 Before CFGSimplify cond.true.i: ; preds = %entry
2015 Mar 24
2
[LLVMdev] Propagate clang attribute to IR
> On 24 Mar 2015, at 14:55, Aaron Ballman <aaron at aaronballman.com> wrote: > > On Tue, Mar 24, 2015 at 9:48 AM, Rinaldini Julien > <julien.rinaldini at heig-vd.ch> wrote: >> Hi, >> >> I want to *tag* some functions with some *flags*. I was using annotate((“myFlag”)) and everything was working fine until I tried on ObjC method. It seems that clang just
2017 Oct 01
2
load with alignment of 1 crashes from being unaligned
Below is attached a full IR module that can reproduce this issue, but the part to notice is this: %Foo96Bits = type <{ i24, i24, i24, i24 }> define internal fastcc i16 @main.0.1() unnamed_addr #2 !dbg !113 { Entry: %value = alloca %Foo96Bits, align 1 %b = alloca i24, align 4 %0 = bitcast %Foo96Bits* %value to i8*, !dbg !129 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* bitcast
2005 Feb 07
7
IAX2 Trunk Problems with NAT
Hi, I have successfully configured an IAX trunk between 2 asterisks, calls can go through both ways without any problems, NAT in the middle of course (iptables) Now , leave them for a while , and make a call from the external server , it doesn't go through, Dial from the internal one, everything works fine again.. Now , it is clearly a problem in the NAT engine,
2020 Jul 11
3
Bug in pass 'ipsccp' on function attribute 'argmemonly'?
Hi all, Let's see an example (from Alexandre Isoard) first: **************************************************************************************** ; RUN: opt -ipsccp -deadargelim -licm -O2 -S < %s @g = internal global i32 0 ; Function Attrs: argmemonly define internal void @foo(i32* nonnull dereferenceable(4) %arg, i32 %val) #0 { entry: store i32 %val, i32* %arg ret void } define
2020 Jul 14
3
Bug in pass 'ipsccp' on function attribute 'argmemonly'?
Thank you Hal and Stefan! Bug report is filed: https://bugs.llvm.org/show_bug.cgi?id=46717 And Stefan, I think 'attributor' is a really nice pass, and can infer more precise and useful attributes, which may give more opportunities for optimization. But we shouldn't depend on 'attributor' to correct wrong function attributes, because we cannot run 'attributor' after
2015 Dec 09
5
RFC: New function attribute HasInaccessibleState
Sigh... let me try that last part again: Maybe GlobalsAA and/or a GlobalsAA-centric attribution pass could partition writes as: 1. Stores to local allocas 2. Stores through pointer parameters 3. Stores to globals defined in this compilation unit 4. Other Attributing functions with attributes: readonly: only writes of type 1 argmemonly: only writes of type 1/2 almost-readonly: only