Инструмент для модификации GCC GIMPLE? - PullRequest
2 голосов
/ 01 марта 2011

Мне нужно добавить в gcc поддержку OpenMP-подобного (директивного) языка.Я знаю, что можно сбросить код GIMPLE, а затем «сбросить» его и продолжить компиляцию.Я хочу изменить выгруженный DIMPLE, чтобы добавить вызовы моей динамической библиотеки, изменить переменные и так далее.Есть ли удобный инструмент для этого?

РЕДАКТИРОВАТЬ: Возможно, LLVM это то, что мне нужно.В настоящее время меня интересует, как преобразовать GIMPLE в LLVM IR.Также, есть ли способ получить информацию о том, какая строка исходного кода соответствует конкретному оператору IR?

Ответы [ 2 ]

2 голосов
/ 01 марта 2011

Зависит от того, что именно вам нужно, вы можете сделать это, используя GCC Plugins .

1 голос
/ 03 марта 2011

GIMPLE => LLVM IR-транслятор называется «llvm-gcc» (или DragonEgg, если вам нужен плагин GCC).Стандартный способ хранения карты между строками исходного языка и чего-либо в LLVM IR - передача отладочной информации.

...