Lines Matching refs:WS
472 const auto &WS = static_cast<const MCSymbolWasm &>(S); in executePostLayoutBinding() local
473 if (WS.isDefined() && WS.isFunction() && !WS.isVariable()) { in executePostLayoutBinding()
1351 const auto &WS = static_cast<const MCSymbolWasm &>(S); in prepareImports() local
1355 if (WS.isFunction()) { in prepareImports()
1363 if (WS.isTag()) in prepareImports()
1364 registerTagType(WS); in prepareImports()
1366 if (WS.isTemporary()) in prepareImports()
1370 if (!WS.isDefined() && !WS.isComdat()) { in prepareImports()
1371 if (WS.isFunction()) { in prepareImports()
1373 Import.Module = WS.getImportModule(); in prepareImports()
1374 Import.Field = WS.getImportName(); in prepareImports()
1376 Import.SigIndex = getFunctionType(WS); in prepareImports()
1378 assert(WasmIndices.count(&WS) == 0); in prepareImports()
1379 WasmIndices[&WS] = NumFunctionImports++; in prepareImports()
1380 } else if (WS.isGlobal()) { in prepareImports()
1381 if (WS.isWeak()) in prepareImports()
1385 Import.Field = WS.getImportName(); in prepareImports()
1387 Import.Module = WS.getImportModule(); in prepareImports()
1388 Import.Global = WS.getGlobalType(); in prepareImports()
1390 assert(WasmIndices.count(&WS) == 0); in prepareImports()
1391 WasmIndices[&WS] = NumGlobalImports++; in prepareImports()
1392 } else if (WS.isTag()) { in prepareImports()
1393 if (WS.isWeak()) in prepareImports()
1397 Import.Module = WS.getImportModule(); in prepareImports()
1398 Import.Field = WS.getImportName(); in prepareImports()
1400 Import.SigIndex = getTagType(WS); in prepareImports()
1402 assert(WasmIndices.count(&WS) == 0); in prepareImports()
1403 WasmIndices[&WS] = NumTagImports++; in prepareImports()
1404 } else if (WS.isTable()) { in prepareImports()
1405 if (WS.isWeak()) in prepareImports()
1409 Import.Module = WS.getImportModule(); in prepareImports()
1410 Import.Field = WS.getImportName(); in prepareImports()
1412 Import.Table = WS.getTableType(); in prepareImports()
1414 assert(WasmIndices.count(&WS) == 0); in prepareImports()
1415 WasmIndices[&WS] = NumTableImports++; in prepareImports()
1422 const auto &WS = static_cast<const MCSymbolWasm &>(S); in prepareImports() local
1423 if (WS.isUsedInGOT()) { in prepareImports()
1425 if (WS.isFunction()) in prepareImports()
1429 Import.Field = WS.getName(); in prepareImports()
1433 assert(GOTIndices.count(&WS) == 0); in prepareImports()
1434 GOTIndices[&WS] = NumGlobalImports++; in prepareImports()
1570 const auto &WS = static_cast<const MCSymbolWasm &>(S); in writeOneObject() local
1573 << toString(WS.getType().value_or(wasm::WASM_SYMBOL_TYPE_DATA)) in writeOneObject()
1577 << " isWeak=" << WS.isWeak() << " isHidden=" << WS.isHidden() in writeOneObject()
1578 << " isVariable=" << WS.isVariable() << "\n"); in writeOneObject()
1580 if (WS.isVariable()) in writeOneObject()
1582 if (WS.isComdat() && !WS.isDefined()) in writeOneObject()
1585 if (WS.isFunction()) { in writeOneObject()
1587 if (WS.isDefined()) { in writeOneObject()
1588 if (WS.getOffset() != 0) in writeOneObject()
1595 Func.SigIndex = getFunctionType(WS); in writeOneObject()
1596 Func.Section = &WS.getSection(); in writeOneObject()
1597 assert(WasmIndices.count(&WS) == 0); in writeOneObject()
1598 WasmIndices[&WS] = Index; in writeOneObject()
1601 auto &Section = static_cast<MCSectionWasm &>(WS.getSection()); in writeOneObject()
1607 if (WS.hasExportName()) { in writeOneObject()
1609 Export.Name = WS.getExportName(); in writeOneObject()
1616 Index = WasmIndices.find(&WS)->second; in writeOneObject()
1621 } else if (WS.isData()) { in writeOneObject()
1622 if (!isInSymtab(WS)) in writeOneObject()
1625 if (!WS.isDefined()) { in writeOneObject()
1631 if (!WS.getSize()) in writeOneObject()
1633 WS.getName()); in writeOneObject()
1636 if (!WS.getSize()->evaluateAsAbsolute(Size, Layout)) in writeOneObject()
1639 auto &DataSection = static_cast<MCSectionWasm &>(WS.getSection()); in writeOneObject()
1642 WS.getName()); in writeOneObject()
1647 DataSection.getSegmentIndex(), Layout.getSymbolOffset(WS), in writeOneObject()
1649 assert(DataLocations.count(&WS) == 0); in writeOneObject()
1650 DataLocations[&WS] = Ref; in writeOneObject()
1653 } else if (WS.isGlobal()) { in writeOneObject()
1655 if (WS.isDefined()) { in writeOneObject()
1657 Global.Type = WS.getGlobalType(); in writeOneObject()
1679 assert(WasmIndices.count(&WS) == 0); in writeOneObject()
1680 WasmIndices[&WS] = Global.Index; in writeOneObject()
1685 << WasmIndices.find(&WS)->second << "\n"); in writeOneObject()
1687 } else if (WS.isTable()) { in writeOneObject()
1688 if (WS.isDefined()) { in writeOneObject()
1691 Table.Type = WS.getTableType(); in writeOneObject()
1692 assert(WasmIndices.count(&WS) == 0); in writeOneObject()
1693 WasmIndices[&WS] = Table.Index; in writeOneObject()
1697 << WasmIndices.find(&WS)->second << "\n"); in writeOneObject()
1698 } else if (WS.isTag()) { in writeOneObject()
1702 if (WS.isDefined()) { in writeOneObject()
1704 uint32_t SigIndex = getTagType(WS); in writeOneObject()
1705 assert(WasmIndices.count(&WS) == 0); in writeOneObject()
1706 WasmIndices[&WS] = Index; in writeOneObject()
1710 assert(WasmIndices.count(&WS) > 0); in writeOneObject()
1712 LLVM_DEBUG(dbgs() << " -> tag index: " << WasmIndices.find(&WS)->second in writeOneObject()
1716 assert(WS.isSection()); in writeOneObject()
1737 const auto &WS = static_cast<const MCSymbolWasm &>(S); in writeOneObject() local
1738 LLVM_DEBUG(dbgs() << WS.getName() << ": weak alias of '" << *Base in writeOneObject()
1744 assert(WasmIndices.count(&WS) == 0); in writeOneObject()
1745 WasmIndices[&WS] = WasmIndex; in writeOneObject()
1748 auto &DataSection = static_cast<MCSectionWasm &>(WS.getSection()); in writeOneObject()
1765 DataLocations[&WS] = Ref; in writeOneObject()
1775 const auto &WS = static_cast<const MCSymbolWasm &>(S); in writeOneObject() local
1776 if (!isInSymtab(WS)) { in writeOneObject()
1777 WS.setIndex(InvalidIndex); in writeOneObject()
1780 LLVM_DEBUG(dbgs() << "adding to symtab: " << WS << "\n"); in writeOneObject()
1783 if (WS.isWeak()) in writeOneObject()
1785 if (WS.isHidden()) in writeOneObject()
1787 if (!WS.isExternal() && WS.isDefined()) in writeOneObject()
1789 if (WS.isUndefined()) in writeOneObject()
1791 if (WS.isNoStrip()) { in writeOneObject()
1797 if (WS.hasImportName()) in writeOneObject()
1799 if (WS.hasExportName()) in writeOneObject()
1801 if (WS.isTLS()) in writeOneObject()
1805 Info.Name = WS.getName(); in writeOneObject()
1806 Info.Kind = WS.getType().value_or(wasm::WASM_SYMBOL_TYPE_DATA); in writeOneObject()
1808 if (!WS.isData()) { in writeOneObject()
1809 assert(WasmIndices.count(&WS) > 0); in writeOneObject()
1810 Info.ElementIndex = WasmIndices.find(&WS)->second; in writeOneObject()
1811 } else if (WS.isDefined()) { in writeOneObject()
1812 assert(DataLocations.count(&WS) > 0); in writeOneObject()
1813 Info.DataRef = DataLocations.find(&WS)->second; in writeOneObject()
1815 WS.setIndex(SymbolInfos.size()); in writeOneObject()
1852 const auto &WS = static_cast<const MCSectionWasm &>(S); in writeOneObject() local
1853 if (WS.getName().starts_with(".fini_array")) in writeOneObject()
1855 if (!WS.getName().starts_with(".init_array")) in writeOneObject()
1857 if (WS.getFragmentList().empty()) in writeOneObject()
1861 if (WS.getFragmentList().size() != 3) in writeOneObject()
1864 auto IT = WS.begin(); in writeOneObject()
1883 if (WS.getName().size() > PrefixLength) { in writeOneObject()
1884 if (WS.getName()[PrefixLength] != '.') in writeOneObject()
1887 if (WS.getName().substr(PrefixLength + 1).getAsInteger(10, Priority)) in writeOneObject()