2Ju0
Ju0.log
2Ju0
전체 방문자
오늘
어제
  • 🐱‍🚀 모두보기 (32)
    • CS (18)
      • LLVM (11)
      • 운영체제 (1)
      • 보안 (3)
      • 프로그래밍언어 (0)
      • 데이터과학 (3)
    • PL (1)
      • Python (1)
      • JavaScript (0)
    • Algorithm (12)
      • Python (0)
      • Javascript (12)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
2Ju0

Ju0.log

LLVM Pass Practice
CS/LLVM

LLVM Pass Practice

2022. 3. 25. 04:21

LLVM Pass를 작성하고 실행시켜보는 연습을 해보자.

1. 함수 이름을 출력하는 Pass 작성하기

for 문으로 함수의 이름을 모두 출력한다.

 

test.c 파일은 다음과 같이 작성했다.

test.c

2. Instruction의 개수를 세는 Pass 작성하기

이중 for 문을 활용하여 Function, BasicBlock, Instuction을 확인하며, Instruction 하나당 count 변수를 1씩 증가시킨다. 이렇게 존재하는 모든 Instruction에 대해서 count를 증가시키면서 Instruction의 개수를 셀 수있다. 함수 이름과 instruction 개수를 함께 출력하여 쉽게 확인 가능하도록 한다.

 

*인자로 Module&을 받아서 for문으로 Function을 얻는 것과 Function&을 인자로 받는 것의 차이를 잘 모르겠다.

test.c 파일은 다음과 같이 작성했다.

test.c


Reference

https://blog.naver.com/therealmaria/222629715859

 

2022. 01. 24. 파이햇살 활동 4회차

학습 내용 llvm pass practice(2) 학습 내용 llvm pass를 작성하고 실행시켜보는 연습을 했다. 이번에는 I...

blog.naver.com

https://blog.naver.com/therealmaria/222629715859

 

2022. 01. 24. 파이햇살 활동 4회차

학습 내용 llvm pass practice(2) 학습 내용 llvm pass를 작성하고 실행시켜보는 연습을 했다. 이번에는 I...

blog.naver.com

    'CS/LLVM' 카테고리의 다른 글
    • LLVM IR 비트코드 분석 - add(덧셈 연산)
    • LLVM IR 비트코드 분석 - Variable(변수)
    • LLVM Skeleton Pass
    • Window에서 LLVM build & Install 하기
    2Ju0
    2Ju0

    티스토리툴바