12/20 스터디 정리

이수연 2008.12.20 22:14 조회 수 : 9503 추천:4


2주간 스터디를 쉬고 금주부터 gcc 스터디를 다시 시작했습니다.

금일 3분이 모여서 스터디를 했습니다. 그중 두분은 몸살감기로 스터디를 일찍 끝나게 되었네여

오늘 본 부분은

decode_option() -> handle_options()
do_compile() -> process_options()
                      -> init_adjust_machine_modes()
                      -> backend_init()

까지 보았네요...

handle_options() 함수에서는 최적화 옵션을 제외한 나머지 옵션을 처리합니다.  옵션은

크게 3가지 종류로 구분이 되는데

언어에 의존적인 옵션, 일반적인 옵션(CL_COMMON) , 머신에 의존적인 옵션(CL_TARGET)

으로 구분이 되는 듯합니다. handle_options() 함수에서는 command-line에서 주어진 옵션

이 언어와 타겟머신에 잘 맞는 옵션인지 확인후 옵션에 해당하는 cl_option 구조체를

찾아서 flag 설정과 관련된 작업을 수행합니다.


process_options() 함수에서는 옵션처리 후 flag 설정을 하고 남은 아직 처리가 안된

flag들을 마저 다 설정합니다.  


init_adjust_machine_modes() 함수에서는 머신에 따른 언어의 설정을 해줍니다.

주로 int와 float 의 사이즈 설정, floating point 의 저장방식등을 결정하는 것 같습니다.


backend_init() 함수에서는 후반부와 관련된 구조체등을 초기화 합니다.

backend_init() -> init_rtlanal() 에서는 각 rtx format에서 "eEV" 등에 관한 기본적인

설정을 해줍니다.


다음주에는 backend_init()->init_rtlanal() 함수부터 다시 분석을 하면 될 듯합니다.

요즘 몸살감기가 유행이네여 @ㅁ@;;;
XE Login