@@ -1007,26 +1007,12 @@ class LinkGraph {
1007
1007
using GetEdgeKindNameFunction = const char *(*)(Edge::Kind);
1008
1008
1009
1009
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,
1012
1011
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 ) &&
1030
1016
" Arch bitwidth is not a multiple of 8" );
1031
1017
}
1032
1018
@@ -1047,10 +1033,12 @@ class LinkGraph {
1047
1033
const SubtargetFeatures &getFeatures () const { return Features; }
1048
1034
1049
1035
// / Returns the pointer size for use in this graph.
1050
- unsigned getPointerSize () const { return PointerSize ; }
1036
+ unsigned getPointerSize () const { return TT. getArchPointerBitWidth () / 8 ; }
1051
1037
1052
1038
// / 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
+ }
1054
1042
1055
1043
const char *getEdgeKindName (Edge::Kind K) const { return GetEdgeKindName (K); }
1056
1044
@@ -1640,8 +1628,6 @@ class LinkGraph {
1640
1628
std::shared_ptr<orc::SymbolStringPool> SSP;
1641
1629
Triple TT;
1642
1630
SubtargetFeatures Features;
1643
- unsigned PointerSize;
1644
- llvm::endianness Endianness;
1645
1631
GetEdgeKindNameFunction GetEdgeKindName = nullptr ;
1646
1632
DenseMap<StringRef, std::unique_ptr<Section>> Sections;
1647
1633
// FIXME(jared): these should become dense maps
@@ -2039,8 +2025,7 @@ createLinkGraphFromObject(MemoryBufferRef ObjectBuffer,
2039
2025
2040
2026
// / Create a \c LinkGraph defining the given absolute symbols.
2041
2027
std::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,
2044
2029
orc::SymbolMap Symbols);
2045
2030
2046
2031
// / Link the given graph.
0 commit comments