llvm-project
a7a2dc59 - [GlobalISel] Skip expensive dereferenceable checks at O0 (#195012)

Commit
3 days ago
[GlobalISel] Skip expensive dereferenceable checks at O0 (#195012) IRTranslator::translateLoad is hot and showing up in compile-time profiling of sqlite on aarch64-O0-g builds. Around 1/3 of the time is spent in TargetLoweringBase::getLoadMemOperandFlags which is dominated by isDereferenceableAndAlignedPointer inferring dereferenceable metadata. This metadata is for the optimizer and not necessary for correctness. Skipping at O0 is -0.21% geomean improvement on CTMark. This brings GISel more inline with FastISel which also doesn't infer this metadata. https://llvm-compile-time-tracker.com/compare.php?from=4e6d3722fca73c97367720180a8d547057fda380&to=93a4a4a09ee9c94ef39bf07ee859cbb7c199c94e&stat=instructions%3Au
Author
Parents
Loading