Page MenuHomePhabricator

[SystemZ] Fix regression when handling conditional calls

Authored by zhanjunl on Jul 6 2016, 10:20 AM.



A regression showed up in node.js when handling conditional calls.
Fix the regression by recognizing external symbols as a possible operand type in CallJG.

Diff Detail


Event Timeline

zhanjunl retitled this revision from to [SystemZ] Fix regression when handling conditional calls.
zhanjunl updated this object.
zhanjunl added a reviewer: koriakin.
zhanjunl added a subscriber: llvm-commits.
koriakin edited edge metadata.Jul 6 2016, 11:18 AM

Thanks for fixing this! Looks OK, but ISTM the whole thing could be avoided by just doing addOperand instead of the more specific variants?

626 ↗(On Diff #62900)

nit: MachineInstrBuilder MIB(*MI.getParent()->getParent(), MI); would be shorter

631 ↗(On Diff #62900)

Shouldn't it be enough to just addOperand(FirstOp)?

zhanjunl edited edge metadata.

Hmm, you're right, didn't notice there was an addOperand API for the builder. I've updated the diff to use addOperand instead of the specific variants.

koriakin accepted this revision.Jul 6 2016, 12:32 PM
koriakin edited edge metadata.

A testcase would be nice, otherwise LGTM.

This revision is now accepted and ready to land.Jul 6 2016, 12:32 PM
This revision was automatically updated to reflect the committed changes.