디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.11.24 14:34:57
조회 51 추천 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 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
2904744 노인비하글 써서 프갤 하루 글 차단했냐 관리자새끼야 타이밍뒷.통수한방(1.213) 11.25 23 0
2904743 만화 드래곤볼 아직 못 봤는데 손오공 직업이 발명도둑잡기(118.216) 11.25 20 0
2904742 끙야참기 은근 쾌감?있는듯? ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.25 47 0
2904739 지귀연판사 말투 개웃기지않냐? [5] 헬마스터갤로그로 이동합니다. 11.25 61 0
2904735 한국에서 수준운운 의미없다. [6] 프갤러(110.8) 11.25 79 0
2904734 촉촉한 초코 케익처럼 달콤한 모모링❤ ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.25 24 0
2904733 앱히키는 창년임 ㅇㅇ(222.108) 11.25 59 0
2904730 요새 1인 개발이 유행임? ㅋㅋ [1] 프갤러(118.235) 11.25 104 3
2904729 국가부도사태 초읽기 대.재.명 [5] ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.25 97 1
2904727 식당 들어갔는데 알바생이 젊고 예쁨 [3] ㅁㅁㅅ갤로그로 이동합니다. 11.25 71 0
2904725 실력자의 기준이 뭐냐? [7] 프갤러(211.240) 11.25 103 0
2904720 전남친토스트맛 [3] 넥도리아(223.38) 11.25 40 0
2904718 달력받으러 신한은행 넥도리아(223.38) 11.25 38 0
2904717 인버스를 사지 않는 이유가 이해되지 않는군 [11] chironpractor갤로그로 이동합니다. 11.25 86 0
2904715 재업) Ada, C++, Rust에서 FFI 시 예외 전파 차이점 [3] 나르시갤로그로 이동합니다. 11.25 54 0
2904711 해킹 관련 질문 검열 안하는 인공지능 채팅 있나요 [1] 발명도둑잡기(118.235) 11.25 54 0
2904709 이거 검열 삭제 된다 발명도둑잡기(118.235) 11.25 70 0
2904706 파묘가 100억 손해? 영화 티켓값 내릴 수 있는 방법 알려드림 발명도둑잡기(118.235) 11.25 31 0
2904704 M-DIR 클론코딩 소스 발명도둑잡기(118.235) 11.25 48 0
2904703 인버스를 사는 이유가 이해되지 않는군 [4] ㅇㅇ갤로그로 이동합니다. 11.25 130 0
2904702 요즘 웹개발 취업시장 어때요 [1] 프갤러(211.234) 11.25 91 0
2904700 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.25 50 0
2904699 프갤에 인생 40년 갈아넣었습니다 [5] chironpractor갤로그로 이동합니다. 11.25 68 0
2904696 그래픽스 엔지니어 신입으로 들어가는 게 가능한가? [4] 프갤러(112.154) 11.25 79 0
2904695 일본 취업 유학 워홀 여행 관련모임 ㅇㅇ(106.146) 11.25 61 0
2904693 러스트 인생 40 년 갈아 넣었습니다. [2] 프갤러(59.16) 11.25 78 0
2904691 이벤트 루프 며칠 있으면 완성될 듯 ㅋㅋ 나르시갤로그로 이동합니다. 11.25 52 0
2904686 조별 프로젝트 조언부탁드려요 [1] ㅇㅇ(14.32) 11.25 61 0
2904680 ❤✨☀⭐⚡☘⛩☃나님 시작합니당☃⛩☘⚡⭐☀✨❤ [2] ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.25 88 0
2904631 인지과학조져라 손발이시립디다갤로그로 이동합니다. 11.25 73 0
2904621 똥글 싸는 고닉들 다 뒤졌으면 좋겠다. [1] 프갤러(112.171) 11.25 47 1
2904619 살면서 순수 내의지로 무언가 열심히한게 [2] 공기역학갤로그로 이동합니다. 11.25 69 0
2904612 플밍갤말고 딴갤없냐 프갤러(59.14) 11.25 36 0
2904601 유튜브 광고에 피싱사이트 나오더라 헬마스터갤로그로 이동합니다. 11.25 42 0
2904588 꽃무늬 돌고래.. ㅇㅅㅇ [3] 헤르 미온느갤로그로 이동합니다. 11.25 54 0
2904586 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 11.25 41 0
2904584 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 11.25 66 0
2904523 사실 안뽑히는 이유는 아직 지원을 안했기 때문이지 [3] 프갤러(110.8) 11.24 92 0
2904522 짱깨먼지 좃같노 [1] ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.24 103 0
2904521 남북한/일본은 중국에 미세먼지 공동대응해야함 [1] ㅇㅇ(211.216) 11.24 34 0
2904518 안뽑히는 이유 알았다. 나 러스트 존나 못한다. [5] 프갤러(110.8) 11.24 119 0
2904513 회사다니다 보면 바보되어가는 느낌 [4] CANON갤로그로 이동합니다. 11.24 106 0
2904510 가끔 알 수 없는 감정이 들때면 [2] ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.24 67 0
2904506 린겨 ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.24 47 0
2904503 26학번 새내기들을 위한 입시 면접 합격 가이드(따뜻한 조언)!Y 프갤러(121.142) 11.24 114 2
2904501 와 개씨발 모기잇노 [1] ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.24 102 0
2904500 대한민국 출산율 회생방안 ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.24 49 0
2904499 너, 재판 쌓여있잖아 ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.24 89 0
2904496 API 왤케 비쌈? ㅇㅇ갤로그로 이동합니다. 11.24 73 0
2904495 나님 누웅..✨ ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 11.24 35 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2