Как LLVM обрабатывает регистр флагов x86? - PullRequest
1 голос
/ 15 июня 2019

Я начинаю использовать llvm для игры с языками.Пройдя турториал калейдоскопа, мне интересно, как LLVM представляет, манипулирует регистром флагов x86?

Если есть переполнение, перенос или другое состояние, как мне попасть в это состояние вIR и использовать его?

1 Ответ

2 голосов
/ 22 июня 2019

Флаг x86 и регистр состояния довольно специфичны для цели и, конечно, не должны моделироваться в LLVM IR - это слишком низкий уровень.В противном случае те же концепции могут быть смоделированы в нейтральной к цели манере через llvm.uadd.with.overflow и т. Д.

Кроме того, помните, что LLVM IR в целом имеет форму SSA, поэтому инструкции могут быть легко, например, переставлены при условии, что окончательная версиязначения одинаковы.Однако эта операция не будет сохранять регистр флага x86 таким же.

...