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() 함수부터 다시 분석을 하면 될 듯합니다.
요즘 몸살감기가 유행이네여 @ㅁ@;;;
.
전 아직도 헤롱헤롱댄다는..ㅋㅋ