2013-12-12 11 views
1

전제 조건 : -O2 최적화 플래그로 gcc를 호출하고 -O2 최적화 플래그로 clang을 호출합니다.
컴파일러에 전달 된 옵션 목록이 동일 함을 의미합니까?
clang은 -funroll-loops와 같은 표준 GCC 옵션을 이해합니까? 심지어 그 소리와 함께 사용할 수있는 가능한 GCC 호환 옵션의 목록을 찾을 수 없습니다
http://llvm.org/releases/3.3/tools/clang/docs/UsersManual.html
:GCC와 Clang 최적화 옵션의 차이점

나는 설명서에이 문제에 대한 유용한 아무것도 찾지 못했습니다.

GCC 옵션을 사용해도 상관 없습니까? 아니면 무시해도됩니까?
작동 방식에 대한 설명이 필요합니다.

+0

그 점에 대해서는 clang 설명서를 확인하십시오. 그 옵션을 이해하지만 모든 것을 이해할 수 있을지 확신하지 못합니다. –

+0

gcc의 clang에서'-O2'가 같은 것을 의미한다는 보장은 없습니다. 다른 옵티 마이저가 있다고 가정하면 어쨌든 그러한 보장은 불가능합니다. – user4815162342

+1

@Adriano [clang manual] (http://clang.llvm.org/docs/UsersManual.html)은 실제로 지원되는 최적화 옵션과 그 의미에 대해 놀랍지 않게 침묵합니다. – user4815162342

답변

5

일반적으로 Clang은 GCC에서 명령 행 옵션을 복사하려고 시도하지만 GCC 및 LLVM에는 다른 최적화 단계가 있으므로 특정 최적화 플래그가 공유되지 않습니다. 특히 -O2은 두 컴파일러에서 동일하게 동작하지 않습니다.

-O2에서 GCC가 적용하는 최적화 목록을 보려면 its documentation을 확인하십시오. Clang이 적용되는 목록을 보려면 this related Stackoverflow question about how to see the list을 확인하십시오.

관련 문제