Implement the LLVM IR select statement for MIPS FastISel.
Based on a patch by Reed Kotler.
Differential D6774
[mips][FastISel] Implement the select statement for MIPS FastISel. vkalintiris on Dec 23 2014, 6:20 PM. Authored by
Details Implement the LLVM IR select statement for MIPS FastISel. Based on a patch by Reed Kotler.
Diff Detail Event TimelineComment Actions A regression was fixed here because it shows up in test-suite only after this patch. It's a generic problem caused by a shortcoming in tabelgen whereby you can't mark a side effect of an instruction as it making a register Dead and instead out tablegen marked the mul instruction wirh defs for LO0 and HI0 which causes a problem for the register allocator when trying to allocate register AC0 since LO0 and HI0 are dependent registers. The solution here for this regression is probably temporary since the proper way is to fix tablegen but that will require some more work and approval.
Comment Actions Addressed review comments and removed the review's portions that are not Comment Actions LGTM with the type check corrected and the FIXMEs added.
|
MVT::INVALID_SIMPLE_VALUE_TYPE and MVT::Other are included in this check and shouldn't be.
Also, you can't rely on the types being defined in this order. You could use: