Сборка LLVM: назначить целочисленную константу регистру

Я пишу компилятор , который использует LLVM в качестве бэкэнда, и мой компилятор генерирует следующий код сборки LLVM

@0 = private constant [25 x i8] c"Hello World to %dntegers\00"

declare void @printf (i8*, i32)

define void @main () {
  %1 = getelementptr [25 x i8]* @0, i32 0, i32 0
  %2 = 1
  tail call void @printf(i8* %1, i32 %2)
  ret void
}

Но я получаю следующую ошибку:

c.ll:8:8: error: expected instruction opcode
  %2 = 1
       ^

В документации показаны примеры, подобные этому .

Вы знаете, как заставить это работать? , Я использую вместо этого:

  %2 = add i32 0, 1 ; FIXME

13
задан Mildred 16 June 2011 в 15:40
поделиться