mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
b9273210d0
Updating to LLVM 7 mainly involved the following steps: * Upgrade APIs for folding ConstantExpr. * Upgrade APIs for GraphTraits. * Upgrade APIs for DominatorTreeBase. * Upgrade APIs for BinaryFormat to parse ELFs. * Fix the LLVM Linker to properly link the QEMU helpers. * Disable the new optnone attribute even with optimization -O0. This is necessary to allow SROA to do its job properly. * Upgrade APIs to delete Instructions. * Properly cleaning up orphaned metadata still referring to Instructions that have been destroyed. Recent versions of LLVM are more strict in this respect, and will assert when compiled in debug. * Avoid using LLVM `getGlobalContext` which has been removed from newer versions of LLVM. * Upgrade tests to use the new APIs. * Upgrade APIs for instruction iterators and reverse iterators.