Displaying 4 results from an estimated 4 matches for "_tmp30".
2015 Aug 07
2
load instruction erroneously removed by GVN
...i,
I'm having a problem with GVN removing a load instruction that I think
is needed.
Dump before GVN:
*** IR Dump Before Global Value Numbering ***
; Function Attrs: minsize optsize
define i16 @TEST__MAIN(i16 %argc.13.par, i16** %argv.14.par) #0 {
%buf.17 = alloca [10 x i16], align 1
%_tmp30 = getelementptr inbounds [10 x i16], [10 x i16]* %buf.17, i16
0, i16 0, !dbg !22
call fastcc void @format_long(i16* %_tmp30, i16 10, i32 10), !dbg !22
%_tmp32 = getelementptr [10 x i16], [10 x i16]* %buf.17, i16 0, i16
0, !dbg !24
%_tmp33 = load i16, i16* %_tmp32, align 1, !dbg !24
ca...
2015 Aug 10
2
load instruction erroneously removed by GVN
Hi,
On 08/07/2015 10:30 PM, Nick Lewycky wrote:
[...]
> Depends. What is the exact declaration of format_long?
>
>
> In the input .ll file it is:
>
> ; Function Attrs: minsize optsize
> define internal i16 @format_long(i16* %res.8.par, i16 %base.9.par,
> i32 %x.10.par) #3 {
>
> which is later changed somewhere in opt to:
>
> ;
2015 Aug 07
3
load instruction erroneously removed by GVN
...;> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org]
>> On Behalf Of Mikael Holmén via llvm-dev
>> Subject: [llvm-dev] load instruction erroneously removed by GVN
>
>> But between the load and the alloca there is also
>> call fastcc void @format_long(i16* %_tmp30, i16 10, i32 10), !dbg !22
>> which will use %_tmp30 to write in the alloca'd buffer.
>
>> Shoulnd't MemoryDependenceAnalysis::getDependency rather return the call?
>
> Depends. What is the exact declaration of format_long?
In the input .ll file it is:
; Function Att...
2017 Jan 13
4
Wrong code bug after GVN/PRE?
...%int4 %_tmp24 to i64
%_tmp26 = getelementptr %arr18, %ptr20 %_tmp23, i16 0, i64 %_tmp25
store %int4 %_tmp22, %ptr7 %_tmp26
br label %bb5
bb5:
%_tmp27 = load %int4, %ptr7 %cach1.11
%_tmp28 = icmp eq %int4 %_tmp27, 7
br i1 %_tmp28, label %bb6, label %bb_usw2
bb6:
%_tmp29 = load %int4, %ptr7 %step1.7
%_tmp30 = icmp eq %int4 %_tmp29, 0
%_tmp31 = select i1 %_tmp30, %int4 1, %int4 0
call void @CVAL_VERIFY_FUNC(%int4 %_tmp31)
%_tmp32 = load %ptr20, %ptr26 %liv1.12
%_tmp33 = load %int4, %ptr7 %step1.7
%_tmp34 = sext %int4 %_tmp33 to i64
%_tmp35 = getelementptr %arr18, %ptr20 %_tmp32, i16 0, i64 %_tmp34
%_tm...