디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.11.24 14:34:57
조회 87 추천 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/12/01 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
2905276 착한 중국인 환영⭐+ ♥멘헤라냥덩♥갤로그로 이동합니다. 11.28 56 0
2905275 Ada 언어는 공부하면 할수록 너무 신기하다.. ㅎㅎ 나르시갤로그로 이동합니다. 11.28 54 0
2905274 나님 왤케 소중하실깡..?⭐+ [2] ♥멘헤라냥덩♥갤로그로 이동합니다. 11.28 67 0
2905272 SK네트웍스 FAMILY AI 캠프 24기 프갤러(118.235) 11.28 64 0
2905271 미국정치 갤러리 이미지, 동영상 첨부 차단 중 [1] 발명도둑잡기(118.216) 11.28 64 0
2905270 열심히 살아라 RyuDOG갤로그로 이동합니다. 11.28 60 0
2905269 오늘 기분좋네 RyuDOG갤로그로 이동합니다. 11.28 57 0
2905268 의사도 유튜버도 아니다…중고생이 꼽은 장래희망 1위 [1] 발명도둑잡기(118.216) 11.28 91 0
2905266 한화시스템 BEYOND SW 캠프 24기 프갤러(118.235) 11.28 66 0
2905263 이제 LLM딸깍으로 과제 풀기 쉬워졌으니 취업난보다 인력난이 더 대두될거 ㅇㅇ(110.10) 11.28 80 0
2905262 진짜 공대처럼 수학 물리를 빡세게 하는 것도 아니고 ㅇㅇ(110.10) 11.28 65 0
2905261 오늘의 작사 실마리: 한국에서 제일 높은 산? 발명도둑잡기(39.7) 11.28 56 0
2905260 헉교수업만 멍청하게 꼬박꼬받듣다가 취업 못 한다고 징징징 ㅇㅇ(110.10) 11.28 59 0
2905259 네트워크 프로그래밍에 네트워크 이론 ㅈ도 필요없는데 ㅇㅇ(110.10) 11.28 71 0
2905258 실시간 변화하는 컴공이라 도메인지식/신지식 경계를 잘 다뤄야하는데 ㅇㅇ(110.10) 11.28 58 0
2905257 1학년 신입질한다고 1년 날려먹고 [2] ㅇㅇ(110.10) 11.28 86 0
2905256 학교 커리만 따르는 애들 걍 순수 지능장애 같음 [1] ㅇㅇ(110.10) 11.28 84 0
2905255 모든 한국인 전자주민증, 전자운전면허증은 NSA가 훔칠 수 발명도둑잡기(118.216) 11.28 50 0
2905254 Ada: 외계인이 설계한 Storage_Pool 소개 나르시갤로그로 이동합니다. 11.28 52 1
2905253 가상화폐, 금융기관, 핀테크 해킹은 서버 씨피유 백도어 때문일지도 [1] 발명도둑잡기(118.216) 11.28 140 0
2905252 나르시시스트 특징 10가지 ㄷㄷㄷㄷ 슈퍼너드_리보갤로그로 이동합니다. 11.28 66 0
2905250 좆소 git 기가 막히네 [4] ㅇㅇ(106.101) 11.28 136 0
2905248 러스트를 접한건 우연이지만 빠는건 필연이다. [1] 프갤러(110.8) 11.28 82 0
2905246 내가 만나고 싶은 여자 이상형 적어봄.txt [1] ㅁㅁㅅ갤로그로 이동합니다. 11.28 84 0
2905242 러스트 인생 40 년 갈아 넣었습니다. 프갤러(59.16) 11.28 66 0
2905240 러스트 러스트 러스트 러스트 러스트 러스트 프갤러(221.149) 11.28 61 0
2905239 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ ♥멘헤라냥덩♥갤로그로 이동합니다. 11.28 64 0
2905238 내 컴터 상태가 이럴듯..ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 11.28 86 0
2905236 다들 이정도 정신문제는 가지지 않나 ㅇㅇ(39.7) 11.28 75 0
2905234 작년 이맘때 폭설 ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 11.28 63 0
2905231 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 11.28 59 0
2905230 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 11.28 60 0
2905227 그레셤의 법칙이 더닝크루거에 선행한다 [29] chironpractor갤로그로 이동합니다. 11.28 129 0
2905224 맨날 뭐 망하라는 소리만 하면서 왜 자기가 애국자인척을 하지 ㅇㅇ갤로그로 이동합니다. 11.28 52 0
2905221 인지과학조져라 손발이시립디다갤로그로 이동합니다. 11.28 67 0
2905219 김영회 동국대 향가연구실장 "양주동 박사 향가 해독법 틀렸다" 발명도둑잡기(39.7) 11.28 54 0
2905218 일본 '만엽집' 대가 "일본은 아름다운 평화를 지향해야 한다" 발명도둑잡기(39.7) 11.28 50 0
2905217 양쪽 얘기 듣자는게 왜 역사왜곡임? [5] chironpractor갤로그로 이동합니다. 11.28 122 2
2905216 박원순 자ㅡ살 맞는지가 의문 [1] 발명도둑잡기(39.7) 11.28 70 0
2905215 스위스는 매달 전국민이 우편투표로 직접민주정치 발명도둑잡기(39.7) 11.28 53 0
2905214 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ ♥멘헤라냥덩♥갤로그로 이동합니다. 11.28 42 0
2905212 죽어가는 국민의힘 되살리는 기초의회 ‘2인 선거구’, 더 늘어나나 발명도둑잡기(39.7) 11.28 59 0
2905211 재명이 존나 찐따같네;; 카메라 보이니까 왕따 아닌척 발악;; [5] ♥멘헤라냥덩♥갤로그로 이동합니다. 11.28 88 0
2905210 진보당, 무주택자·세입자·청년의 ‘감당 가능한 주거’ 7대 정책 제안 [1] 발명도둑잡기(39.7) 11.28 66 0
2905208 경력기술서쓰는데 궁금한거 있음 [7] 프갤러(58.76) 11.28 106 0
2905207 미국 음반 시장 순위 조작을 위한 사재기 있나 발명도둑잡기(39.7) 11.28 142 0
2905203 <하우스 오브 다이너마이트> 인기래서 생각나는 예전 글 발명도둑잡기(39.7) 11.28 50 0
2905200 오늘의 소설, 영화 실마리: 초코파이 재판과 노조원 이야기 발명도둑잡기(39.7) 11.28 54 0
2905195 이익 배분 게임과 지능의 상관관계 [1] 발명도둑잡기(39.7) 11.28 93 0
2905193 넷마블 해킹 SQL 인젝션 추정 [1] ㅇㅇ(175.197) 11.28 103 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2