2.1.87. -Onum

이 옵션은 소스 파일 컴파일 시 사용할 최적화 수준을 지정합니다.

구문

-Onum

여기서 num은 다음 중 하나입니다.

0

최소 최적화입니다. 대부분의 최적화를 해제합니다. 최상의 디버그 뷰를 제공하는 반면 가장 낮은 수준의 최적화를 제공합니다.

1

제한적 최적화입니다. 사용하지 않는 인라인 함수 및 사용하지 않는 정적 함수를 제거합니다. 디버그 뷰를 심각하게 저하시키는 최적화를 해제합니다. --debug와 함께 사용할 경우 코드가 한결 간결해진 만족스러운 디버그 뷰가 제공됩니다.

2

높은 최적화. --debug와 함께 사용할 경우 소스 코드로의 개체 코드 매핑이 명확하지 않은 경우도 있기 때문에 다소 만족스럽지 않은 디버그 뷰가 제공될 수 있습니다.

이것이 기본 최적화 수준입니다.

3

최대 최적화입니다. -O3-O2와 동일한 최적화를 수행하지만 -O2와 비교하여 생성된 코드에서 공간 최적화와 시간 최적화 간에 균형을 이루지 못하고 공간 또는 시간 중 한 쪽에 더 큰 비중을 둡니다. 즉, 다음과 같습니다.

  • -O3 -Otime은 이미지 크기가 증가되기는 하지만 -O2 -Otime보다 빠른 코드를 생성하기 위해 사용합니다.

  • -O3 -Ospace-O2 -Ospace보다 작은 코드를 생성하기 위해 사용하지만 성능이 저하될 수 있습니다.

또한 -O3은 다음과 같은 보다 적극적인 최적화를 추가로 수행합니다.

  • -O3 -Otime에 대해 루프 언롤링을 비롯한 고수준의 스칼라 최적화 코드 크기를 작게 작성하기 때문에 상당한 성능상의 장점이 있지만 빌드 시간이 더 길어집니다.

  • -O3 -Otime에 대한 보다 적극적인 인라인 및 자동 인라인

  • 다중 파일 컴파일 기본 수행

Note

--fpmode 옵션을 사용하여 특정 숫자 모델을 선택하는 경우 부동 소수점 코드의 성능에 영향을 줄 수 있습니다.

Note

이 최적화에 대한 구현 정보는 이후 릴리스에서 변경될 수 있으므로 신뢰하지 마십시오.

기본값

-Onum을 지정하지 않으면 컴파일러에서 -O2로 간주됩니다.

추가 참고

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0348AK
Non-Confidential