This is an archive of the discontinued LLVM Phabricator instance.

[SDAG] Add SymbolSDNode to wrap MCSymbol operands
Needs ReviewPublic

Authored by rnk on May 8 2015, 2:40 PM.

Details

Summary

This allows building SDAG nodes that reference internal labels, like a
function's LSDA, or other labels like frameescape offsets.

In MI, this is just an MO_MCSymbol operand. Until now, we haven't had a
DAG node for it, but now we do.

Eventually we could fold support for ExternalSymbolSDNode or
BlockAddressSDNode into this, but I'm not excited to tackle that.

This patch doesn't migrate anything over to using this SDNode, as it
requires updating each target's MCInstLowering to handle MO_MCSymbol.

Diff Detail

Event Timeline

rnk updated this revision to Diff 25373.May 8 2015, 2:40 PM
rnk retitled this revision from to [SDAG] Add SymbolSDNode to wrap MCSymbol operands.
rnk updated this object.
rnk added a reviewer: echristo.
rnk added a subscriber: Unknown Object (MLST).

Adding other reviewers, since Eric is on vacation. Mostly, I want to know if adding this new leaf node is the right direction for SDAG.