@@ -1007,26 +1007,12 @@ class LinkGraph {
10071007  using  GetEdgeKindNameFunction = const  char  *(*)(Edge::Kind);
10081008
10091009  LinkGraph (std::string Name, std::shared_ptr<orc::SymbolStringPool> SSP,
1010-             const  Triple &TT, SubtargetFeatures Features, unsigned  PointerSize,
1011-             llvm::endianness Endianness,
1010+             Triple TT, SubtargetFeatures Features,
10121011            GetEdgeKindNameFunction GetEdgeKindName)
1013-       : Name(std::move(Name)), SSP(std::move(SSP)), TT(TT),
1014-         Features (std::move(Features)), PointerSize(PointerSize),
1015-         Endianness(Endianness), GetEdgeKindName(std::move(GetEdgeKindName)) {}
1016- 
1017-   LinkGraph (std::string Name, std::shared_ptr<orc::SymbolStringPool> SSP,
1018-             const  Triple &TT, unsigned  PointerSize, llvm::endianness Endianness,
1019-             GetEdgeKindNameFunction GetEdgeKindName)
1020-       : LinkGraph(std::move(Name), std::move(SSP), TT, SubtargetFeatures(),
1021-                   PointerSize, Endianness, GetEdgeKindName) {}
1022- 
1023-   LinkGraph (std::string Name, std::shared_ptr<orc::SymbolStringPool> SSP,
1024-             const  Triple &TT, GetEdgeKindNameFunction GetEdgeKindName)
1025-       : LinkGraph(std::move(Name), std::move(SSP), TT, SubtargetFeatures(),
1026-                   Triple::getArchPointerBitWidth(TT.getArch()) / 8,
1027-                   TT.isLittleEndian() ? endianness::little : endianness::big,
1028-                   GetEdgeKindName) {
1029-     assert (!(Triple::getArchPointerBitWidth (TT.getArch ()) % 8 ) &&
1012+       : Name(std::move(Name)), SSP(std::move(SSP)), TT(std::move(TT)),
1013+         Features (std::move(Features)),
1014+         GetEdgeKindName(std::move(GetEdgeKindName)) {
1015+     assert (!(Triple::getArchPointerBitWidth (this ->TT .getArch ()) % 8 ) &&
10301016           " Arch bitwidth is not a multiple of 8" 
10311017  }
10321018
@@ -1047,10 +1033,12 @@ class LinkGraph {
10471033  const  SubtargetFeatures &getFeatures () const  { return  Features; }
10481034
10491035  // / Returns the pointer size for use in this graph.
1050-   unsigned  getPointerSize () const  { return  PointerSize ; }
1036+   unsigned  getPointerSize () const  { return  TT. getArchPointerBitWidth () /  8 ; }
10511037
10521038  // / Returns the endianness of content in this graph.
1053-   llvm::endianness getEndianness () const  { return  Endianness; }
1039+   llvm::endianness getEndianness () const  {
1040+     return  TT.isLittleEndian () ? endianness::little : endianness::big;
1041+   }
10541042
10551043  const  char  *getEdgeKindName (Edge::Kind K) const  { return  GetEdgeKindName (K); }
10561044
@@ -1640,8 +1628,6 @@ class LinkGraph {
16401628  std::shared_ptr<orc::SymbolStringPool> SSP;
16411629  Triple TT;
16421630  SubtargetFeatures Features;
1643-   unsigned  PointerSize;
1644-   llvm::endianness Endianness;
16451631  GetEdgeKindNameFunction GetEdgeKindName = nullptr ;
16461632  DenseMap<StringRef, std::unique_ptr<Section>> Sections;
16471633  //  FIXME(jared): these should become dense maps
@@ -2039,8 +2025,7 @@ createLinkGraphFromObject(MemoryBufferRef ObjectBuffer,
20392025
20402026// / Create a \c LinkGraph defining the given absolute symbols.
20412027std::unique_ptr<LinkGraph>
2042- absoluteSymbolsLinkGraph (const  Triple &TT,
2043-                          std::shared_ptr<orc::SymbolStringPool> SSP,
2028+ absoluteSymbolsLinkGraph (Triple TT, std::shared_ptr<orc::SymbolStringPool> SSP,
20442029                         orc::SymbolMap Symbols);
20452030
20462031// / Link the given graph.
0 commit comments