llvm-ir

    0

    1답변

    난 만화경 LLVM 자습서를 따라했습니다. 이제 파스칼과 비슷한 언어를위한 프론트 엔드 컴파일러를 extern하려고합니다. 이 코드가이 프로그램의 program main; function rett(): integer; begin rett := 1; exit; rett := 5; end; var a: integer; b

    1

    1답변

    나는 -S -emit-llvm이 코드를 컴파일 할 연타를 사용 : int sub2(int n) { return n - 2 } 을 그리고 이것은 출력 코드 : define i32 @sub2(i32) #0 { %2 = sub i32 %0, 2 ret i32 %2 } : 나는 같은 기능을 쓸 수있다, 그러나 ; Functio

    2

    1답변

    저는 LLVM IR로 놀고 있는데, LLVM 인터프리터 lli이 명확하게 정의되지 않은 함수를 찾고있는 곳에서 (Google 및 doc의 도움으로) 해결할 수 없습니다. 기본 시스템 기능을 의미 함). @message = private constant [12 x i8] c"hello world\0A" define i32 @puts(i8* %s) {

    4

    1답변

    C++에서 LLVM IR 코드를 생성 할 때 콘솔 명령 clang++ -emit-llvm –S test.cpp을 사용하여 내가 원하는 LLVM IR 인 test.ll 파일을 얻을 수 있습니다. 이 실행 파일을 얻으려면이 따를 수있는 단계는 다음과 같습니다 llvm-as test.ll가 -> 나에게 test.bc 파일을 제공합니다. llc test.bc --

    1

    2답변

    정확한 디버그 정보를 IR에 인쇄하고 싶습니다. 어떻게해야합니까? 예를 들어, 내가 목적을 디버깅 문자열로 !12를 인쇄하려면 다음과 같이 적외선 덩어리, call void @llvm.dbg.declare(metadata i32* %a, metadata !10, metadata !11), !dbg !12! !12 = !DILocation(line: 19,

    2

    1답변

    나는 컴파일러 구현에 대한 LLVM 튜토리얼을 따르려고하지만 객체 코드를 내 보내려 할 때 내 코드 segfaults가 발생합니다. 다음은 함수를 컴파일하려고 시도하는 최소한의 예제입니다. func. 일을 단순하게 유지하기 위해 func은 아무 것도 수행하지 않는 함수입니다. #include <iostream> #include <llvm/ADT/Optio

    2

    1답변

    두 개의 전역 구조체 타입 선언이 있는데, 그 중 하나는 다른 하나의 "부속 유형"입니다. 나는이 시도 : 나는 더 구체적인 유형으로 전역 변수를 정의하지만 전역 변수가 더 일반적인 유형하자 할 %hs = type { %hs* (%hs*)* } %dc = type { %hs* (%hs*)*, i64, [1 x %hs*] } @boring = const

    0

    1답변

    llvm3.6.2에서 llvm3.8.1로 프로젝트를 마이그레이션하려고합니다. 내 코드에서, 나는 AliasAnalysis을 사용하고 다음과 같이 내 코드를 변경하고 있습니다 : #if defined(DDP_LLVM_VERSION_3_8) AU.addRequired<AAResultsWrapperPass>(); #else AU.addRequired<Ali

    1

    1답변

    새로운 기능 추가, 코드 줄 제거, 함수 호출 삽입 및 함수에 대한 인수 변경과 같은 프로그램 최적화를 작성 중입니다. 이 모든 것이 LLVM Pass를 사용하여 가능하며, 그렇다면 어떻게이 코드를 작성할 수 있습니까? LLVM 웹 사이트에 LLVM 패스 페이지를 작성하는 방법을 살펴 보았지만 코드 변경에 대해서는 설명하지 않았습니다.

    0

    1답변

    내 자신의 링커와 기계어 변환기가 있습니다. 내 기계에 대한 자체 어셈블리 명령어를 사용하고 있습니다.이 기계는 ASM에서 생성 한 기계 코드를 16 진수 변환기로 실행하는 소프트웨어 프로세서입니다 . 어셈블리 대신에, 나는 이제 C 언어를 사용할 것입니다. 제 질문은이 목적으로 LLVM을 사용하는 방법입니다. 한 접근법은 다음과 같습니다. LLVM IR에