summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/RDFGraph.h
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2016-09-27 18:18:44 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2016-09-27 18:18:44 +0000
commit1d3222072111953cf5ebb16de5ca0fd680bc3fff (patch)
tree3207d39a57fa24fcf395ccebf522dbe13bf61cda /llvm/lib/Target/Hexagon/RDFGraph.h
parent0775a2326e39c0a1c3112f16f4e0ee408c3b97bb (diff)
downloadbcm5719-llvm-1d3222072111953cf5ebb16de5ca0fd680bc3fff.tar.gz
bcm5719-llvm-1d3222072111953cf5ebb16de5ca0fd680bc3fff.zip
[RDF] Special treatment of exception handling registers
A landing pad can have live-in registers that are defined by the runtime, not the program (exception pointer register and exception selector register). Make sure to recognize that case and not link these registers with any defs in the program. Each landing pad will have phi nodes added at the beginning to provide definitions of these registers, but the uses of those phi nodes will not have any reaching defs. llvm-svn: 282519
Diffstat (limited to 'llvm/lib/Target/Hexagon/RDFGraph.h')
-rw-r--r--llvm/lib/Target/Hexagon/RDFGraph.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/RDFGraph.h b/llvm/lib/Target/Hexagon/RDFGraph.h
index 3403b649d56..596bf342885 100644
--- a/llvm/lib/Target/Hexagon/RDFGraph.h
+++ b/llvm/lib/Target/Hexagon/RDFGraph.h
@@ -821,6 +821,8 @@ namespace rdf {
private:
void reset();
+ std::vector<uint32_t> getLandingPadLiveIns() const;
+
NodeAddr<NodeBase*> newNode(uint16_t Attrs);
NodeAddr<NodeBase*> cloneNode(const NodeAddr<NodeBase*> B);
NodeAddr<UseNode*> newUse(NodeAddr<InstrNode*> Owner,
OpenPOWER on IntegriCloud