search for: call5

Displaying 15 results from an estimated 15 matches for "call5".

Did you mean: call
2015 Jul 24
1
[LLVMdev] SIMD for sdiv <2 x i64>
...e spatInstMap. I can't say for sure that we can do better here - I haven't studied our vector canonicalization rules enough - but this seems like something which could possibly be improved. This is interesting: %splatCallS27_D.splatinsert = insertelement <2 x i8*> undef, i8* %call5.i.i, i32 0 %splatCallS27_D.splat = shufflevector <2 x i8*> %splatCallS27_D.splatinsert, <2 x i8*> undef, <2 x i32> zeroinitializer Can't that shuifflevector be replaced with: %splatCallS27_D.splat = insertelement <2 x i8*> %splatCallS27_D.splatinsert , i8* %call...
2015 Jul 24
0
[LLVMdev] SIMD for sdiv <2 x i64>
...; preds = %if.then4 %S25_D = zext <2 x i32> %splatLDS17_D.splat to <2 x i64> %umul_with_overflow.i.iS26_D = shl <2 x i64> %S25_D, <i64 3, i64 3> %extumul_with_overflow.i.iS26_D = extractelement <2 x i64> %umul_with_overflow.i.iS26_D, i32 1 %call5.i.i = tail call noalias i8* @_Znam(i64 %extumul_with_overflow.i.iS26_D) #22 %splatCallS27_D.splatinsert = insertelement <2 x i8*> undef, i8* %call5.i.i, i32 0 %splatCallS27_D.splat = shufflevector <2 x i8*> %splatCallS27_D.splatinsert, <2 x i8*> undef, <2 x i32> zeroinit...
2015 Jul 24
2
[LLVMdev] SIMD for sdiv <2 x i64>
On 07/24/2015 03:42 AM, Benjamin Kramer wrote: >> On 24.07.2015, at 08:06, zhi chen <zchenhn at gmail.com> wrote: >> >> It seems that that it's hard to vectorize int64 in LLVM. For example, LLVM 3.4 generates very complicated code for the following IR. I am running on a Haswell processor. Is it because there is no alternative AVX/2 instructions for int64? The same thing
2016 Jan 28
2
Find the instructions where a particular value is defined
...store i32 5, i32* %b, align 4 71 br label %if.end 72 73 if.end: ; preds = %if.then.3, %if.else 74 br label %if.end.4 75 76 if.end.4: ; preds = %if.end, %if.then 77 %2 = load i32, i32* %a, align 4 78 %call5 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream"* @_ZSt4cout, i32 %2) 79 %3 = load i32, i32* %b, align 4 80 %call6 = call dereferenceable(272) %"class.std::basic_ostream"* @_ZNSolsEi(%"class.std::basic_ostream&q...
2016 Jan 28
2
Find the instructions where a particular value is defined
Sorry, I should ask the following: finds all the instructions of a function where a particular variable is defined? Lets consider the following code snippet: 1. void foo(){ 2. int a, b; 3. if(a > 10) 4. b = 10; 5. if(a<10) 6. b = 5; 7. cout << b; 8. } I would like to know the instructions where variable b can be be defined, i.e, in this case, the instructions 4 and 6. On Wed,
2018 Aug 23
2
[RFC] "Properly" Derive Function/Argument/Parameter Attributes
...* %w0) %call1 = call i32* @external_ret2_nrw(i32* %n0, i32* %r0, i32* %w0) %call2 = call i32* @external_ret2_nrw(i32* %n0, i32* %r1, i32* %w0) %call3 = call i32* @external_sink_ret2_nrw(i32* %n0, i32* %r0, i32* %w0) %call4 = call i32* @external_sink_ret2_nrw(i32* %n0, i32* %r1, i32* %w0) %call5 = call i32* @internal_ret0_nw(i32* %n0, i32* %w0) br label %return return: ; preds = %if.end, %if.then %retval.0 = phi i32* [ %call5, %if.end ], [ %n0, %if.then ] ret i32* %retval.0 } ; Function Attrs: noinline nounwind uwtable define internal i32*...
2014 Jan 14
2
[LLVMdev] Question About the LLVM IR unnamed values!
...%call = call i32 @add(i32 %6, i32 %7) store i32 %call, i32* %e, align 4 %call3 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([14 x i8]* @.str, i32 0, i32 0), i32* %a) %call4 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([14 x i8]* @.str1, i32 0, i32 0), i32* %b) %call5 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([14 x i8]* @.str2, i32 0, i32 0), i32* %e) %call6 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([14 x i8]* @.str, i32 0, i32 0), i32* %d) %call7 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([14 x i8]* @.str, i...
2010 Sep 03
6
[LLVMdev] Why clang inlines with -O3 flag and opt doesn't?
...dx = getelementptr inbounds i8** %argv, i64 1 ;<i8**> [#uses=1] %tmp1 = load i8** %arrayidx, align 8 ;<i8*> [#uses=1] %call = tail call i32 @atoi(i8* %tmp1) nounwind ;<i32> [#uses=2] %call4 = tail call i32 @fib(i32 %call) ;<i32> [#uses=1] %call5 = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([12 x i8]* @.str, i64 0, i64 0), i32 %call, i32 %call4) nounwind ;<i32> [#uses=0] ret i32 0 } declare i32 @atoi(i8* nocapture) nounwind readonly declare i32 @printf(i8* nocapture, ...) nounwind
2019 Jul 22
2
Run llvm pass from standalone project
Hi all, I am trying to use LLVM's AliasAnalysis pass, but from a standalone tool that uses llvm libraries. The following is the code snippet I am currently using. PassBuilder PB; auto mod_manager = ModuleAnalysisManager { }; PB.registerModuleAnalyses(mod_manager); AAResults& AAR = mod_manager.getResult<AAManager>(*M); But the code fails at .getResult with the following error:
2019 Aug 05
2
LLVM crashing while trying to build SPEC with Clang
Hello, I am building the SPEC 2006 Benchmark with Clang as the compiler. I have written a function pass in LLVM and I am trying to run that for SPEC by invoking the pass in the build options of SPEC. The build options of SPEC are in a *.cfg config file, which allows us to specify the choice of compiler while building SPEC. (https://www.spec.org/cpu2006/Docs/install-guide-unix.html) The pass
2019 Feb 07
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...variable’s declaration which is later used for DILocalVariable construction. For call-site information, new DINode metadata DICallSite and DICallSiteParam are defined and these are emitted by the Clang frontend. The metadata is associated to the call or invoke IR instruction. Here is an example: %call5 = call i32 @fed_em_strncmp(i8* %arraydecay, i8* %arraydecay1, i64 5), !dbg !114, !call_site !101 … !99 = !DICallSiteParam(argno: 1, variable: !91, expr: !DIExpression()) !100 = !DICallSiteParam(argno: 2, variable: !95, expr: !DIExpression()) !101 = !DICallSite(scope: !87, file: !3, parameters: !102...
2019 Feb 08
3
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...inds matching call site and call site parameter. > For call-site information, new DINode metadata DICallSite and DICallSiteParam are defined and these are emitted by the Clang frontend. The metadata is associated to the call or invoke IR instruction. Here is an example: > > %call5 = call i32 @fed_em_strncmp(i8* %arraydecay, i8* %arraydecay1, i64 5), !dbg !114, !call_site !101 > … > !99 = !DICallSiteParam(argno: 1, variable: !91, expr: !DIExpression()) > !100 = !DICallSiteParam(argno: 2, variable: !95, expr: !DIExpression()) > !101 = !DICallSite(sc...
2019 Feb 08
2
RFC: [DebugInfo] Improving Debug Information in LLVM to Recover Optimized-out Function Parameters
...> > For call-site information, new DINode metadata DICallSite and > DICallSiteParam are defined and these are emitted by the Clang frontend. > The metadata is associated to the call or invoke IR instruction. Here is > an example: > > > > %call5 = call i32 @fed_em_strncmp(i8* %arraydecay, i8* %arraydecay1, > i64 5), !dbg !114, !call_site !101 > > … > > !99 = !DICallSiteParam(argno: 1, variable: !91, expr: > !DIExpression()) > > !100 = !DICallSiteParam(argno: 2, variable: !95, expr:...
2014 Nov 03
8
[LLVMdev] [PATCH] Protection against stack-based memory corruption errors using SafeStack
...bel %if.then3, label %if.end4 + +if.then3: ; preds = %if.else + br label %if.end4 + +if.end4: ; preds = %if.else, %if.then3, %if.then + %y.0 = phi double* [ null, %if.then ], [ %x, %if.then3 ], [ null, %if.else ] + %call5 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str, i64 0, i64 0), double* %y.0) nounwind + ret void +} + +; test10b: Addr-of in phi instruction +; safestack attribute +; Requires protector. +define void @test10b() nounwind uwtable safestack { +entry: +; LINUX-I386...
2013 Feb 14
1
[LLVMdev] LiveIntervals analysis problem
...; preds = %land.lhs.true.i %call48.i = call i32 (i8*, i8*, ...)* @sprintf(i8* %arraydecay20, i8* getelementptr inbounds ([4 x i8]* @.str3, i32 0, i32 0)) nounwind br label %etoasc.exit if.end49.i: ; preds = %for.body.i, %land.lhs.true.i %call51.i = call fastcc i32 @ecmp(i16* getelementptr inbounds ([10 x i16]* @eone, i32 0, i32 0), i16* %arraydecay4.i) nounwind %cmp52.i = icmp eq i32 %call51.i, 0 br i1 %cmp52.i, label %isone.i, label %if.end55.i if.end55.i: ; preds = %if.end49.i %cmp56.i = icm...