llvm-ir

    1

    1답변

    저는 LLVM을 수정하여 메모리에서 특정 상수와 함수를 연속적으로 유지하려고합니다. 다른 말로하면, 특정 기능의 기계 코드가 일 때 항상에 메모리의 ~ 4 바이트 상수가 선행되어 있는지 확인해야합니다. 함수 본문 자체를 수정하면 안됩니다. 어떻게하면 LLVM IR을 수정하여이 작업을 수행 할 수 있습니까? 예 경우 : I 변수와 메모리에서 함수의 연속을 유

    8

    4답변

    컴파일러 작성시 대상 언어로 LLVM IR 대 C를 사용하면 장단점은 무엇입니까? 둘 다 사용된다는 것을 알고 있으며 C 언어를 컴파일하기 위해 clang을 사용한다면 최종 머신 코드가 유사 할 것이라고 상상합니다. 그래서 고려해야 할 사항은 무엇입니까?

    5

    3답변

    몇 시간 동안 검색해 봤는데 도움이 될만한 것을 찾을 수 없습니다. 나는 FunctionPass를 포함하는 프로젝트에서 일하고있다. runOnFunction (Function & f) 메소드를 구현했는데 정상적으로 작동합니다. 1) 저장 명령 2) 비트 단위 AND 연산 (0000FFFF를 사용하여 정수를 변경 정수 3)에 스토어 명령의 메모리 어드레스 변

    9

    1답변

    라이브러리에서 LLVM 인라인 함수를 만들려고합니다. llvm-link과 함께 링크 된 LLVM 비트 코드 파일 (수동으로 생성 됨)과 clang에 의해 비트 코드로 컴파일되고 llvm-ar과 함께 보관되는 라이브러리 (C로 작성된 라이브러리)가 있습니다. 모든 것을 함께 연결하고 실행할 수는 있지만, 라이브러리에서 함수 LLVM을 인라인 할 수는 없습니다

    6

    2답변

    는 그 소리 3.0 온라인 데모 페이지에 http://llvm.org/demo/index.cgi는 LLVM C++ API 코드 "를 출력 연타 옵션을 생산"입니다. 를 입력 프로그램의 LLVM-IR을 나타내는 "출력 LLVM C++ API 코드에 대한 옵션을 제공합니다 (만약 그렇다면, ?) 그것은 무엇인가 아니면 (어느)는 LLVM 도구 옵션입니까? 이

    12

    1답변

    이제 this tutorial 다음에 llvm에 대한 분석 통과를 구현합니다. 이러한 아래와 같이 플러그인을 추가로 인수를 전달해야합니다 opt -load /path/to/myplugin.so -mypass -mypass_option input.bc 그러나 나는 찾지 못함 수동 방법을 수행하는 말해. 그래서 실제로 가능한지 궁금합니다. 미리 감사드립니다

    22

    3답변

    llvm.org의 온라인 컴파일러로 bc 파일을 생성했습니다. ac 또는 C++ 프로그램에서이 bc 파일을로드 할 수 있는지 알고 싶습니다. bc 파일을 llvm jit (프로그래밍 방식으로 C 프로그램에서)과 비교하여 결과를 얻습니다. 어떻게하면됩니까?

    6

    1답변

    저는 LLVM을 처음 사용합니다. 중급 표현이 주어지면 printf 호출의 인수를 검사 할 기본 Pass를 작성하려고합니다. 형식 문자열이 문자열 리터럴이 아니면 물론 검사 할 수 없습니다. 그러나 아주 자주, 그렇습니다. 내가 검사하기 위해 노력하고있어 샘플 IR은 다음과 같습니다 : struct ExternalFunctionsPassedConstants

    0

    1답변

    는 ... 나는 다음과 LLVM IR은 무효 @foo (I32의 *의 % A, I32의 *의 %의 m) 해제 없음을 {정의가 생각 나는 전화 첫 번째 arg에 대한 배열을 전달하고 변수 주소를 m에 전달하여 foo 이제 foo의 arg 목록을 분석하고 어느 arg가 배열에 전달되었는지, 그리고 단순히 포인터 주소인지 판단해야합니다. 나는 모두가 실제로 주소