11/29 스터디 정리

조회 수 1598 추천 수 9 2008.12.01 18:55:44
이수연 *.104.30.41
init_stringpool() 초기화
    심벌테이블로 사용하는 ht를 초기화
    ident_hash에 2^14(16k) 크기의 엔트리를 만들고 string_stack을 초기화 합니다.
    struct ht 와 obstack은 내부에 여러 구조체를 포함하는 복잡한 형태를 보이므로 다음과
   같이 분량을 나누어 조사하기로 했습니다.
  
(Mr.Lee)전반 cpp_buffer, lexer_state, line_maps, _cpp_buff
(Ms.Song)후반 cpp_context, directive, cpp_hashnode, cpp_token, tokenrun
(Mr.Park)obstack, cpp_options

linemap_init()
    linemap 구조체 초기화
realloc_for_line_map 함수를 설정

init_ttree()
    다음의 해시테이블을 초기화
    type_hash_table, debug_expr_for_decl, value_expr_for_decl, init_priority_for_decl, restrict_base_for_decl
    int_cst_hash_table, int_cst_node
    
   역시나 각 해시테이블의 정확한 용도는 알기가 어렵네요... 이것도 아무나 한가하신분이
   조사해서 설명해 주시면 좋겠네여 ...

    tree_contain_struct 초기화

add_params()
    언어 의존적인 파라미터에 언어 독립적인 파리미터 값을 추가하며 파리미터는
    command-line에서     ---param <name>=<value> 형태로 입력이 가능하다는군여
    param.def 참조

init_ggc_heuristics()

gnu garbage collector에 사용할 전체 메모리 및 힙 메모리 의 최대값 계산후 parameter로 설정
("ggc-min-expand", ggc_min_expand_heuristic())
("ggc-min-heapsize", ggc_min_heapsize_heuristic())

init_optimization_passes ()
    최적화 pass를 list 엮는다. 전역변수로 지정된 3개의 도입부에 엮어둔다.
    all_lowering_passes, all_ipa_passes, all_passes

decode_options()
    command-line 옵션 처리

    먼저 최적화 옵션을 처리하고 이후에 handle_options() 함수를 호출하여 나머지 옵션을 처리한다.

    최적화 옵션 -O0, -O1, -O2, -Os, -O3
    숫자값이 3보다 커도 상관은 없으나 3과 동일하게 처리됨

    -Os 는 -O2와 거의 동일하나 코드의 크기가 증가하는 최적화는 수행하지 않는다.

    각 최적화 옵션이 설정하는 최적화 관련 플래그들은 다음과 같습니다.
    ( 너무 많아서 하나하나 어떤 최적화인지 자세히 보기는 힘들군요... )
    -O1
    flag_defer_pop ,flag_delayed_branch,flag_omit_frame_pointer
,flag_guess_branch_prob     flag_cprop_registers ,flag_if_conversion ,
flag_if_conversion2 ,flag_ipa_pure_const flag_ipa_reference ,flag_split_wide_types
,flag_tree_ccp ,flag_tree_dce ,flag_tree_dom, flag_tree_dse ,flag_tree_ter ,flag_tree_sra
,flag_tree_copyrename ,flag_tree_fre
flag_tree_copy_prop ,flag_tree_sink ,flag_tree_salias

    -O2
flag_inline_small_functions ,flag_thread_jumps ,
flag_crossjumping ,flag_optimize_sibling_calls
flag_forward_propagate ,flag_cse_follow_jumps
flag_gcse ,flag_expensive_optimizations
flag_rerun_cse_after_loop ,flag_caller_saves
flag_peephole2 ,flag_schedule_insns   flag_schedule_insns_after_reload ,flag_regmove
flag_strict_aliasing ,flag_strict_overflow
flag_delete_null_pointer_checks ,
flag_reorder_blocks ,flag_reorder_functions
flag_tree_store_ccp ,flag_tree_vrp

    -O3
flag_predictive_commoning ,flag_inline_functions
flag_unswitch_loops flag_gcse_after_reload ,flag_tree_vectorize

    no optimization, -O1, -Os
    align_loops, align_jumps ,align_labels ,align_functions
    flag_reorder_blocks, flag_reorder_blocks_and_partition

    -Os
    flag_inline_functions

    no optimazation
    flag_no_inline, warn_inline

그럼 담주에 뵙도록 하지요...

송선희

2008.12.01 22:25:45
*.209.237.248

우와~~~ 짝짝짝 완벽하세요~~하하

이수연

2008.12.03 21:45:42
*.104.30.41

struct cpp_reader {} 구조체에 포함된 내부 구조체 중에서 cset_converter, deps, pragma_entry, cpp_callbacks, cpp_options 구조체는 우님께서 완벽하게 조사해 오시겠다고 하시네여 으흐흐;;;

박은병

2008.12.04 01:47:22
*.189.127.160

으흐흐....멋쟁이.......쵝오~~^^

송선희

2008.12.05 10:53:30
*.94.41.89

역시 저도 한 주 스터디 해보고 바로 깨달았습니다.
바쁜 직장인들이 많으므로 스터디 과제는 무리라는 것을,,, ㅜ
List of Articles
번호 제목 글쓴이 날짜 조회 수
28 GCC 스터디 [1] 백창우 2009-04-28 1147
27 저도 스터디에 참가하고 싶습니다..... [2] 이준환 2009-04-15 1183
26 GCC 스터디 잠시 쉽니다. [1] 이수연 2009-02-04 1313
25 gcc 저장소 권한 설정에 문제가 있어 다시 설정했습니다. [1] 백창우 2009-01-05 1332
24 분석소스 올려주세요. [2] 백창우 2009-01-01 1364
23 12/20 스터디 정리 [1] 이수연 2008-12-20 1270
22 lksas 계정 알려주세요. [5] 백창우 2008-12-05 1532
» 11/29 스터디 정리 [4] 이수연 2008-12-01 1598
20 죄송합니다. 이정우 2008-11-29 1290
19 지난주 gcc 스터디 정리 file [6] 이수연 2008-11-27 1734
18 gcc 스터디 lksas 서버계정 신청... [1] 이수연 2008-11-25 1365
17 스터디 모임에 참가하고 싶습니다. [2] 송선희 2008-11-24 1402
16 GCC 스터디 금요일에 있나요? [2] 백창우 2008-11-19 1306
15 [공지사항]11월15일 스터디 쉽니다... 이수연 2008-11-14 1212
14 11월8일 GCC 스터디 공지사항 이수연 2008-11-08 1280
13 [공지사항] 11/1 GCC 스터디 공지사항 [5] 이수연 2008-10-31 1275
12 [공지사항] GCC 스터디 공지사항 ( 스터디 다시 시작합니다) [6] 이수연 2008-10-27 1549
11 GCC 분석 망했나요? 백창우 2008-10-05 1583
10 [공지사항] 9/6 스터디 공지사항 이수연 2008-09-06 1424
9 그동안 참여하지 못해서 정말 죄송합니다 ㅠㅠ 양주찬 2008-09-03 1385



XE Login