디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

LLVM IR 소개 (일종의 통합 가상 어셈블리)

나르시갤로그로 이동합니다. 2025.11.24 14:34:57
조회 82 추천 0 댓글 0

? LLVM IR 소개

LLVM IR(Intermediate Representation)은 LLVM 프로젝트의 핵심 요소로, 다양한 언어와 아키텍처를 연결하는 가상 중간 언어입니다. 내부 표현으로 사용되지만, 사람이 직접 작성하거나 기계가 생성할 수 있으며, 새로운 언어 개발에도 활용됩니다. 


1. LLVM 툴체인 필요함

LLVM IR을 다루려면 LLVM 툴체인이 필요합니다.
- clang : C/C++ 등의 소스를 IR로 변환
- llc : IR을 특정 아키텍처의 어셈블리로 변환
- opt : IR 최적화 패스 적용
- llvm-link : 여러 IR 모듈을 하나로 통합 

참고: 일반적으로 Clang을 설치하면 LLVM 툴체인 전체가 함께 설치됩니다. 


2. 여러 어셈블리를 통합할 수 있는 가상 중간 언어

LLVM IR은 흔히 “portable 어셈블리 language”라고 불립니다.
- CPU 아키텍처에 종속되지 않고, x86, ARM, RISC-V 등 다양한 백엔드로 변환 가능
- 여러 언어(frontend)에서 생성된 IR을 하나로 합쳐 최적화 후 기계어로 변환할 수 있음
- 여러 어셈블리를 통합하는 중간 단계 역할을 수행 


3. 사람이 직접 LLVM IR 작성 가능

LLVM IR은 사람이 직접 작성할 수 있습니다. 예를 들어, 두 수를 더하는 함수는 다음과 같이 표현됩니다:

define i32 @add(i32 %a, i32 %b) {
entry:
  %sum = add i32 %a, %b
  ret i32 %sum
}

4. 기계로 LLVM IR 작성 가능

보통은 사람이 직접 작성하기보다 컴파일러(frontend)가 IR을 자동으로 생성합니다.
- 예: clang -S -emit-llvm add.c -o add.ll
- 이렇게 하면 C 코드가 IR로 변환되어, 이후 최적화와 코드 생성에 활용됩니다. 


5. 신규 프로그래밍 언어 개발에 활용

LLVM IR은 새로운 언어를 만들 때도 사용됩니다.
- 언어 제작자는 문법과 파서를 구현한 뒤, 기계어 대신 IR을 출력하도록 설계
- LLVM이 IR을 다양한 아키텍처용 코드로 변환
- Rust, Swift, Julia 같은 언어들이 LLVM 기반으로 만들어졌습니다. 


6. OOP도 이론적으로 가능

LLVM IR은 함수, 구조체, 타입 시스템 등을 표현할 수 있어 객체지향 프로그래밍(OOP) 개념도 이론적으로 구현 가능합니다.
- 클래스와 메서드는 구조체와 함수 포인터로 모델링 가능
- 가상 함수 테이블(vtable) 같은 패턴도 IR로 표현 가능
- IR 자체는 저수준 중간 표현이므로, OOP는 언어 설계자가 IR 위에 추상화를 얹어 구현하는 방식입니다. 


📌 정리

  • LLVM IR은 LLVM 툴체인을 통해 다루는 가상 중간 언어다.
  • 여러 언어와 아키텍처를 연결하며, 사람이 직접 작성하거나 컴파일러가 생성할 수 있다.
  • Clang 설치 시 LLVM 툴체인도 함께 설치된다.
  • 새로운 언어 개발에도 활용되며, OOP 같은 고수준 개념도 표현 가능하다.

🔗 공식 튜토리얼

LLVM IR을 학습하려면 LLVM 공식 튜토리얼을 참고할 수 있습니다: LLVM Tutorial: Kaleidoscope


이 글은 LLM으로 생산한 글입니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
2904857 진지하게 지금 이재명정부 잘하고 있냐? [1] ㅇㅇ(125.129) 11.26 127 0
2904856 당신이 아는 빅뱅은 틀렸다 발명도둑잡기(118.216) 11.26 63 0
2904849 위시캣이란 만화가 있나보네 발명도둑잡기(118.216) 11.26 56 0
2904847 X윈도우 프로그래밍 갤러리 개설 [2] FreePascal갤로그로 이동합니다. 11.26 92 0
2904846 "SM 이수만 파워 통했다" 이달의 소녀, '해시' 아이튠즈 발명도둑잡기(118.216) 11.26 56 0
2904844 레스토랑 메뉴판에 숨은 꼼수들 발명도둑잡기(118.216) 11.26 79 0
2904843 전처리 친구들을 그려봤어요 [2] ㅇㅇ(1.247) 11.26 116 1
2904842 환율 진짜 개 에바다. Move갤로그로 이동합니다. 11.26 93 0
2904840 const는 상수 아니냐? [4] ㅇㅇ갤로그로 이동합니다. 11.26 98 0
2904839 아 걍 취업하지 말고 농사나 지을까 [4] 프갤러(121.152) 11.26 128 1
2904838 퇴직하고 나니까 드는 생각인데 주 3일제 해야한다. [5] 프갤러(110.8) 11.26 100 0
2904837 진보당 뽑으면 주4일제 된다 발명도둑잡기(118.216) 11.26 68 0
2904836 크레마 루팅 검색하다가 이 블로그가 나왔는데 [1] 발명도둑잡기(118.216) 11.26 61 0
2904834 책사풍후 난중일기 책사풍후갤로그로 이동합니다. 11.26 56 0
2904833 백수라 가난 때문에 고민이 많다 발명도둑잡기(118.216) 11.26 77 0
2904831 나는 8년쯤전 영화 '슈퍼사이즈미' 보고 햄버거 끊었다 발명도둑잡기(118.216) 11.26 54 0
2904828 크레마 전자책 단종됐는데 발명도둑잡기(118.216) 11.26 67 0
2904827 내일부터 버거킹 대신 라면 먹어야겠다. 프갤러(110.8) 11.26 70 0
2904826 이제 슬슬 대가리 깨지지? RyuDOG갤로그로 이동합니다. 11.26 126 0
2904824 결국 내 말중 틀린게 없잖아 [5] RyuDOG갤로그로 이동합니다. 11.26 137 1
2904823 광장시장 바가지를 욕하지만 엔비디아 지피유 독과점 바가지는 침묵 발명도둑잡기(118.216) 11.26 61 0
2904819 법원행정처, '법정 모욕' 극우 변호사들 고발‥"법치주의 훼손" 발명도둑잡기(118.216) 11.26 73 0
2904818 후 남의 돈 날로 처먹고 싶다. [5] 프갤러(110.8) 11.26 94 0
2904817 Hello world도 모르는 컴맹인데 이거 ai가 앰뒤진거임? 라그네파갤로그로 이동합니다. 11.26 75 0
2904816 "대만 문제 이해한다고"…트럼프가? 일본 난처해진 상황 발명도둑잡기(118.216) 11.26 69 0
2904814 냥덩이도 발명도둑잡기(118.216) 11.26 61 0
2904813 그 세글자 닉 우울증갤러리 출신이잖아 [4] 프갤러(106.101) 11.26 97 2
2904810 계속 진화하는 고급 아파트 커뮤니티 시설 발명도둑잡기(118.216) 11.26 66 0
2904808 ‘범죄도시 마동석’ 실제 모델 경찰관, 음주운전 적발 발명도둑잡기(118.216) 11.26 71 0
2904807 취업이 막히던 날, 릴스 하나가 길이 됐다… 종구형님의 인생 2막 발명도둑잡기(118.216) 11.26 143 0
2904805 Elite: "The game that couldn't be writte 발명도둑잡기(118.216) 11.25 62 0
2904804 싱클레어 ZX81 게임 발명도둑잡기(118.216) 11.25 72 0
2904803 삶이 점점 퍽퍽해지네 환경의 영향이란 [1] RyuDOG갤로그로 이동합니다. 11.25 128 1
2904802 니혼고 구다사이~ [8] 개멍청한유라갤로그로 이동합니다. 11.25 122 0
2904800 google 이 진성 홍어새끼들 타이밍뒷.통수한방(1.213) 11.25 63 0
2904799 나 쫒아다니면서 글쓰는건 정체가 뭐냐 프갤러(59.8) 11.25 58 0
2904797 보답으로 나도 주식추천해준다 [1] 프갤러(59.8) 11.25 76 0
2904792 나사도 감탄했다는 조선의 천재 왕 [1] 발명도둑잡기(118.216) 11.25 96 1
2904790 인텔=구글=애플=엔비디아=팔란티어=공공기관=CIA=FBI=NSA 발명도둑잡기(118.216) 11.25 51 0
2904789 나 요즘에 입에 손넣고 침흘려 [4] 재현갤로그로 이동합니다. 11.25 113 0
2904788 도둑이 많아지는 시대 특징 [1] 발명도둑잡기(118.216) 11.25 165 0
2904787 나만 잘되면 되는거야. 재현갤로그로 이동합니다. 11.25 61 0
2904784 나좀 살려주라 똥지렸는데... [3] 넥도리아(223.38) 11.25 76 1
2904783 해킹당하는중인데 어떡함? [12] 프갤러(59.8) 11.25 149 0
2904781 뉴비들을 위한 입시 면접 합격 가이드(따뜻한 조언)!= 프갤러(121.142) 11.25 65 1
2904780 인텔 다시 분리형 칩으로 돌아간것 같넹;; [3] ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.25 91 0
2904774 위험한 냥덩이 발명도둑잡기(118.216) 11.25 79 2
2904771 씨언어나 해라 [1] CANON갤로그로 이동합니다. 11.25 83 0
2904768 내란무새 찢재명 ㅋㅅㅋ ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.25 66 0
2904767 ☀+ 짧아지니 나님 빨리 주무시게 되는듯 ⭐+ [8] ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.25 113 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2