[PATCH] D35516: [GISel]: Split buildSources part of buildInstr separately

Daniel Sanders via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 24 05:38:05 PDT 2017


dsanders added a comment.

I'm not sure I understand why this change is needed. I'd expect the original version of `buildInstr<unsigned>`, to expand to:

  MachineInstrBuilder buildInstr(unsigned Opc, unsigned &&Ty) {
    auto MIB = buildInstr(Opc).addDef(getDestFromArg(Ty));
    unsigned It[] = {};
    for (const auto &i : It)
      MIB.addUse(i);
    return MIB;
  }

which should then optimize to:

  MachineInstrBuilder buildInstr(unsigned Opc, unsigned &&Ty) {
    auto MIB = buildInstr(Opc).addDef(getDestFromArg(Ty));
    return MIB;
  }

which appears to be the same thing the new version expands and optimizes to.

Am I missing something?


Repository:
  rL LLVM

https://reviews.llvm.org/D35516





More information about the llvm-commits mailing list