[PATCH] [SDAG] Add SymbolSDNode to wrap MCSymbol operands

Reid Kleckner rnk at google.com
Fri May 8 14:41:03 PDT 2015


Hi echristo,

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.

http://reviews.llvm.org/D9624

Files:
  include/llvm/CodeGen/ISDOpcodes.h
  include/llvm/CodeGen/MachineInstrBuilder.h
  include/llvm/CodeGen/MachineOperand.h
  include/llvm/CodeGen/SelectionDAG.h
  include/llvm/CodeGen/SelectionDAGNodes.h
  include/llvm/Target/TargetSelectionDAG.td
  lib/CodeGen/SelectionDAG/InstrEmitter.cpp
  lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  lib/Target/X86/X86ISelDAGToDAG.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86InstrCompiler.td
  lib/Target/X86/X86MCInstLower.cpp
  test/CodeGen/X86/frameescape.ll
  utils/TableGen/CodeGenDAGPatterns.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9624.25373.patch
Type: text/x-patch
Size: 25449 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150508/13938a27/attachment.bin>


More information about the llvm-commits mailing list