Displaying 3 results from an estimated 3 matches for "_z2f1bpi".
2017 Jul 31
4
GEP with a null pointer base
...ump Threading that makes the code in the 'if' block (once
inlined into f3) unreachable:
*** IR Dump Before Jump Threading ***
; Function Attrs: uwtable
define void @_Z2f3v() local_unnamed_addr #1 {
entry:
%call = call zeroext i1 @_Z2f2Pi(i32* null)
br i1 %call, label %if.then.i, label %_Z2f1bPi.exit
if.then.i: ; preds = %entry
store i32 3, i32* null, align 4, !tbaa !2
br label %_Z2f1bPi.exit
_Z2f1bPi.exit: ; preds = %entry,
%if.then.i
ret void
}
*** IR Dump After Jump Threading ***
; Function Attrs: uwtable...
2017 Aug 01
0
GEP with a null pointer base
...n the 'if' block (once inlined into f3) unreachable:
>
> *** IR Dump Before Jump Threading ***
> ; Function Attrs: uwtable
> define void @_Z2f3v() local_unnamed_addr #1 {
> entry:
> %call = call zeroext i1 @_Z2f2Pi(i32* null)
> br i1 %call, label %if.then.i, label %_Z2f1bPi.exit
>
> if.then.i: ; preds = %entry
> store i32 3, i32* null, align 4, !tbaa !2
> br label %_Z2f1bPi.exit
>
> _Z2f1bPi.exit: ; preds = %entry, %if.then.i
> ret void
> }
> *** IR Dump After...
2017 Jul 31
2
GEP with a null pointer base
Dave,
Dead code elimination is generally done in a pass called dead code elimination,
Can you give concrete examples why the same would not be true for UB code elimination ?
Yes, speculatively hoisting code requires it to be UB-free, but that has nothing to do with
UBCE deleting entire blocks of code because of the existence of UB. The former requires
an analysis proving UB-absense, the