diff options
| author | Matthias Braun <matze@braunis.de> | 2017-06-06 00:44:35 +0000 |
|---|---|---|
| committer | Matthias Braun <matze@braunis.de> | 2017-06-06 00:44:35 +0000 |
| commit | 7bda19581229e4b78ccab72a2102d251cc1ab279 (patch) | |
| tree | b8e784f75744254b876fe5d18ba9d248515332cc /llvm/unittests/Target | |
| parent | 707524556c490b05f62529d6ccf7e646e7e9d52c (diff) | |
| download | bcm5719-llvm-7bda19581229e4b78ccab72a2102d251cc1ab279.tar.gz bcm5719-llvm-7bda19581229e4b78ccab72a2102d251cc1ab279.zip | |
CodeGen: Refactor MIR parsing
When parsing .mir files immediately construct the MachineFunctions and
put them into MachineModuleInfo.
This allows us to get rid of the delayed construction (and delayed error
reporting) through the MachineFunctionInitialzier interface.
Differential Revision: https://reviews.llvm.org/D33809
llvm-svn: 304758
Diffstat (limited to 'llvm/unittests/Target')
| -rw-r--r-- | llvm/unittests/Target/AArch64/InstSizes.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/unittests/Target/AArch64/InstSizes.cpp b/llvm/unittests/Target/AArch64/InstSizes.cpp index 22b47c6852a..5ee5e9c048a 100644 --- a/llvm/unittests/Target/AArch64/InstSizes.cpp +++ b/llvm/unittests/Target/AArch64/InstSizes.cpp @@ -60,18 +60,19 @@ void runChecks( createMIRParser(std::move(MBuffer), Context); assert(MParser && "Couldn't create MIR parser"); - std::unique_ptr<Module> M = MParser->parseLLVMModule(); + std::unique_ptr<Module> M = MParser->parseIRModule(); assert(M && "Couldn't parse module"); M->setTargetTriple(TM->getTargetTriple().getTriple()); M->setDataLayout(TM->createDataLayout()); + MachineModuleInfo MMI(TM); + bool Res = MParser->parseMachineFunctions(*M, MMI); + assert(!Res && "Couldn't parse MIR functions"); + auto F = M->getFunction("sizes"); assert(F && "Couldn't find intended function"); - - MachineModuleInfo MMI(TM); - MMI.setMachineFunctionInitializer(MParser.get()); - auto &MF = MMI.getMachineFunction(*F); + auto &MF = MMI.getOrCreateMachineFunction(*F); Checks(*II, MF); } |

