SLTozer wrote:

> My guess here would have been that the issue is the cases where an 
> Instruction* or BasicBlock* is passed rather than BB+Iterator, because those 
> two cases go through an out-of-line constructor.

Seems like you're right - removing the extra dereference does 
little-to-nothing, but allowing the constructors to be inlined mitigates most 
of the cost. It still ends up being [a net negative for 
performance](http://llvm-compile-time-tracker.com/compare.php?from=d75f9dd1d29b332bdc51346de63cbc04646354d7&to=3acef100b23fb6fa616523dd0d1b85945adb7900&stat=instructions%3Au)
 though, even after allowing the constructors to become inlined.

https://github.com/llvm/llvm-project/pull/96497
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to