@@ -532,8 +532,16 @@ static inline bool isCertainPrintOrFree(llvm::Function *called) {
532
532
return false ;
533
533
534
534
if (called->getName () == " printf" || called->getName () == " puts" ||
535
- called->getName () == " fprintf" ||
535
+ called->getName () == " fprintf" || called->getName () == " putchar" ||
536
+ called->getName ().startswith (
537
+ " _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_" ) ||
538
+ called->getName ().startswith (" _ZNSolsE" ) ||
539
+ called->getName ().startswith (" _ZNSo9_M_insert" ) ||
540
+ called->getName ().startswith (" _ZSt16__ostream_insert" ) ||
541
+ called->getName ().startswith (" _ZNSo3put" ) ||
542
+ called->getName ().startswith (" _ZSt4endl" ) ||
536
543
called->getName ().startswith (" _ZN3std2io5stdio6_print" ) ||
544
+ called->getName ().startswith (" _ZNSo5flushEv" ) ||
537
545
called->getName ().startswith (" _ZN4core3fmt" ) ||
538
546
called->getName () == " vprintf" || called->getName () == " _ZdlPv" ||
539
547
called->getName () == " _ZdlPvm" || called->getName () == " free" ||
@@ -562,30 +570,12 @@ static inline bool isCertainPrintMallocOrFree(llvm::Function *called) {
562
570
if (called == nullptr )
563
571
return false ;
564
572
565
- if (called->getName () == " printf" || called->getName () == " puts" ||
566
- called->getName () == " fprintf" ||
567
- called->getName ().startswith (" _ZN3std2io5stdio6_print" ) ||
568
- called->getName ().startswith (" _ZN4core3fmt" ) ||
569
- called->getName () == " vprintf" || called->getName () == " malloc" ||
570
- called->getName () == " swift_allocObject" ||
571
- called->getName () == " swift_release" || called->getName () == " _Znwm" ||
572
- called->getName () == " _ZdlPv" || called->getName () == " _ZdlPvm" ||
573
- called->getName () == " free" ||
574
- shadowHandlers.find (called->getName ().str ()) != shadowHandlers.end ())
573
+ if (isCertainPrintOrFree (called))
575
574
return true ;
576
- switch (called->getIntrinsicID ()) {
577
- case llvm::Intrinsic::dbg_declare:
578
- case llvm::Intrinsic::dbg_value:
579
- #if LLVM_VERSION_MAJOR > 6
580
- case llvm::Intrinsic::dbg_label:
581
- #endif
582
- case llvm::Intrinsic::dbg_addr:
583
- case llvm::Intrinsic::lifetime_start:
584
- case llvm::Intrinsic::lifetime_end:
575
+
576
+ if (isCertainMallocOrFree (called))
585
577
return true ;
586
- default :
587
- break ;
588
- }
578
+
589
579
return false ;
590
580
}
591
581
0 commit comments