Clang 최적화 회귀: C++ 벤치마크에서 인라인 함수의 역효과

2025-02-19

C++ 벤치마크에서 Clang의 인라인 함수 최적화의 성능 저하가 발견되었습니다. `increment` 함수를 인라인으로 처리하면 분기 예측 실패로 인해 인라인 처리되지 않은 버전보다 약 5배 느려졌습니다. `perf stat`을 통해 분기 예측 오류가 원인임을 확인했습니다. 흥미롭게도 Zig 툴체인으로 컴파일하면 성능이 크게 향상되어 Clang 19의 버그를 시사합니다. 이 문제는 Clang/LLVM 저장소에 보고되었으며, 초기 조사 결과 SROA와 SimplifyCFG 최적화 패스 간의 절충이 원인일 가능성이 제기되었습니다.

개발