search for: nosanitize

Displaying 20 results from an estimated 24 matches for "nosanitize".

Did you mean: fsanitize
2019 Jul 03
2
optimisation issue in an llvm IR pass
...t::get(Int8Ty, 1)); Incr = IRB.CreateAdd(Incr, cf); //interestingly this totally different approach creates the same instructions as variant2 CallInst *AddOv = IRB.CreateBinaryIntrinsic(Intrinsic::uadd_with_over flow, Counter, ConstantInt::get(Int8Ty, 1)); AddOv->setMetadata(M.getMDKindID("nosanitize"), MDNode::get(C, None)); Value *SumWithOverflowBit = AddOv; Incr = IRB.CreateAdd(IRB.CreateExtractValue(SumWithOverflowBit, 0), IRB.CreateZExt(IRB.CreateExtractValue(SumWithOverflowBit, 1), Int8Ty)); So - How do I have to write the code that the target code has a chance of being generated? F...
2019 Jul 03
3
optimisation issue in an llvm IR pass
...it makes no difference to the generated assembly > Have you tried using the llvm.uadd.with.overflow.i8 intrinsic? we have tried this: CallInst *AddOv = IRB.CreateBinaryIntrinsic(Intrinsic::uadd_with_overflow, Counter, ConstantInt::get(Int8Ty, 1)); AddOv->setMetadata(M.getMDKindID("nosanitize"), MDNode::get(C, None)); Value *SumWithOverflowBit = AddOv; Incr = IRB.CreateAdd(IRB.CreateExtractValue(SumWithOverflowBit, 0), IRB.CreateZExt(IRB.CreateExtractValue(SumWithOverflowBit, 1), Int8Ty)); but that generated exactly the same as auto cf = IRB.CreateICmpULT(Incr, ConstantInt::g...
2018 Aug 02
2
SCEVUDiv simplification
Hello, I noticed that our SCEVUDiv does not simplify anything when the RHS is not a constant. Is that because there is a potential issue with division by zero being simplified? For instance, would it be okay to simplify: ((%i * %n)<nuw> /u %n) into: %i The way I see it, if %n is 0, then that division is undefined and we can "define it", at will, as being %i. Would that make
2020 Jul 08
2
Extracting the !dbg property from LLVM IR function calls
...ation, and am attempting to extract !dbg numbers from function calls in LLVM IR. However, I've found a few inconsistencies. For example, this call exists in my module: %1 = tail call i1 @llvm.type.test(i8* bitcast (i32 (i32)* @_Z5otheri to i8*), metadata !"_ZTSFiiE") #5, *!dbg !69*, !nosanitize !2 I would like to extract the 69 from this line in my LLVM pass, but when I dump() the corresponding CallInst, I see the following: %1 = tail call i1 @llvm.type.test(i8* bitcast (i32 (i32)* @_Z5otheri to i8*), metadata !"_ZTSFiiE") #5, *!dbg !29*, !nosanitize !2 And finally, the line...
2018 Apr 27
0
ThinLTO + CFI
...------------------------- define hidden i32 @main(i32, i8** nocapture readnone) local_unnamed_addr #0 !type !3 !type !4 { %3 = add nsw i32 %0, -2 store i32 %3, i32* @i, align 4, !tbaa !5 %4 = icmp sgt i32 %0, 1 %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata !"_ZTSFivE"), !nosanitize !9 br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 ; <label>:8: ; preds = %2 %9 = ptrtoint i32 ()* %5 to i64 tail call void @__ubsan_handle_...
2018 Apr 30
4
ThinLTO + CFI
...> define hidden i32 @main(i32, i8** nocapture readnone) local_unnamed_addr #0 !type !3 !type !4 { > %3 = add nsw i32 %0, -2 > store i32 %3, i32* @i, align 4, !tbaa !5 > %4 = icmp sgt i32 %0, 1 > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata !"_ZTSFivE"), !nosanitize !9 > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > ; <label>:8: ; preds = %2 > %9 = ptrtoint i32 ()* %5 to i64 > tail c...
2018 May 14
1
ThinLTO + CFI
...> define hidden i32 @main(i32, i8** nocapture readnone) local_unnamed_addr #0 !type !3 !type !4 { > %3 = add nsw i32 %0, -2 > store i32 %3, i32* @i, align 4, !tbaa !5 > %4 = icmp sgt i32 %0, 1 > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata !"_ZTSFivE"), !nosanitize !9 > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > ; <label>:8: ; preds = %2 > %9 = ptrtoint i32 ()* %5 to i64 > tail...
2018 May 01
0
ThinLTO + CFI
...i32, i8** nocapture readnone) local_unnamed_addr > #0 !type !3 !type !4 { > > %3 = add nsw i32 %0, -2 > > store i32 %3, i32* @i, align 4, !tbaa !5 > > %4 = icmp sgt i32 %0, 1 > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata > !"_ZTSFivE"), !nosanitize !9 > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > ; <label>:8: ; preds = %2 > > %9 = ptrtoint...
2018 May 01
2
ThinLTO + CFI
...main(i32, i8** nocapture readnone) local_unnamed_addr #0 !type !3 !type !4 { > > %3 = add nsw i32 %0, -2 > > store i32 %3, i32* @i, align 4, !tbaa !5 > > %4 = icmp sgt i32 %0, 1 > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata !"_ZTSFivE"), !nosanitize !9 > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > ; <label>:8: ; preds = %2 > > %9 = ptrtoint i32...
2018 May 01
0
ThinLTO + CFI
...i32, i8** nocapture readnone) local_unnamed_addr > #0 !type !3 !type !4 { > > %3 = add nsw i32 %0, -2 > > store i32 %3, i32* @i, align 4, !tbaa !5 > > %4 = icmp sgt i32 %0, 1 > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata > !"_ZTSFivE"), !nosanitize !9 > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > ; <label>:8: ; preds = %2 > > %9 = ptrtoint...
2018 Apr 27
3
ThinLTO + CFI
> We could probably tolerate a certain amount of unused jump table entries. However, I just realized that all non-inline imported calls end up going through a jump table entry. Is that correct? In fact it is all calls that go through a function pointer type that is used anywhere in the program for an indirect call, but depending on your program that could be very close to "yes".
2018 May 01
2
ThinLTO + CFI
...readnone) local_unnamed_addr #0 !type !3 !type !4 { > > > %3 = add nsw i32 %0, -2 > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > %4 = icmp sgt i32 %0, 1 > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata !"_ZTSFivE"), !nosanitize !9 > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > ; <label>:8: ; preds = %2 > >...
2018 May 01
0
ThinLTO + CFI
...one) > local_unnamed_addr #0 !type !3 !type !4 { > > > %3 = add nsw i32 %0, -2 > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > %4 = icmp sgt i32 %0, 1 > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata > !"_ZTSFivE"), !nosanitize !9 > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > ; <label>:8: ; preds = %2 >...
2018 May 01
2
ThinLTO + CFI
...ddr #0 !type !3 !type !4 { > > > > %3 = add nsw i32 %0, -2 > > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > > %4 = icmp sgt i32 %0, 1 > > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata !"_ZTSFivE"), !nosanitize !9 > > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > > > ; <label>:8: ;...
2018 May 01
0
ThinLTO + CFI
...ddr #0 !type !3 !type !4 { > > > > %3 = add nsw i32 %0, -2 > > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > > %4 = icmp sgt i32 %0, 1 > > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata > !"_ZTSFivE"), !nosanitize !9 > > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > > > ; <label>:8:...
2018 May 01
0
ThinLTO + CFI
...{ > > > > > %3 = add nsw i32 %0, -2 > > > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > > > %4 = icmp sgt i32 %0, 1 > > > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata > !"_ZTSFivE"), !nosanitize !9 > > > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > > > > > ; <label>:8:...
2018 May 01
2
ThinLTO + CFI
...{ > > > > > %3 = add nsw i32 %0, -2 > > > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > > > %4 = icmp sgt i32 %0, 1 > > > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata !"_ZTSFivE"), !nosanitize !9 > > > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > > > > > ; <label>:8:...
2018 May 01
0
ThinLTO + CFI
...; > %3 = add nsw i32 %0, -2 > > > > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > > > > %4 = icmp sgt i32 %0, 1 > > > > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata > !"_ZTSFivE"), !nosanitize !9 > > > > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > > > > > > > ; <label&gt...
2018 May 02
1
ThinLTO + CFI
...; > %3 = add nsw i32 %0, -2 > > > > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > > > > %4 = icmp sgt i32 %0, 1 > > > > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata !"_ZTSFivE"), !nosanitize !9 > > > > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > > > > > > > ; <label>:8:...
2018 May 01
0
llvm-dev Digest, Vol 167, Issue 3
...one) > local_unnamed_addr #0 !type !3 !type !4 { > > > %3 = add nsw i32 %0, -2 > > > store i32 %3, i32* @i, align 4, !tbaa !5 > > > %4 = icmp sgt i32 %0, 1 > > > %5 = select i1 %4, i32 ()* @foo, i32 ()* @bar > > > %6 = bitcast i32 ()* %5 to i8*, !nosanitize !9 > > > %7 = tail call i1 @llvm.type.test(i8* nonnull %6, metadata > !"_ZTSFivE"), !nosanitize !9 > > > br i1 %7, label %10, label %8, !prof !10, !nosanitize !9 > > > > > > ; <label>:8: ; preds = %2 >...