[RFC] AEABI Divmod refactoring + 64-bit

Tim Northover t.p.northover at gmail.com
Tue Jul 30 05:08:42 PDT 2013


> Here's what I don't get. After I use ReplaceNodeResults to legalize SREM64,
> when legalizing other operations that depend on those results,
> GetExpandedInteger() still won't find Lo/Hi. How do I get to communicate
> between custom type lowering and expand type lowering?

It looks like that'll happen automatically. The function
DAGTypeLegalizer::ReplaceValueWith gets called straight after ARM's
ReplaceNodeResults and has code to add the new nodes to the worklist
appropriately. Once it hits the BUILD_PAIR instruction it'll know what
to do (LegalizeTypesGeneric.cpp:182) and set Lo/Hi appropriately.
Since that has to be processed before any users, everything works.

Tim.



More information about the llvm-commits mailing list