Lines Matching defs:ThunkSection
1881 // FIXME dyn_cast<ThunkSection> is non-null for any SyntheticSection.
1883 auto *ta = dyn_cast<ThunkSection>(a);
1884 auto *tb = dyn_cast<ThunkSection>(b);
1928 // In lld we have a synthetic ThunkSection that can hold many Thunks.
1929 // The decision to have a ThunkSection act as a container means that we can
1931 // Thunks by inserting just a single ThunkSection.
1938 // Synthetic.cpp : Implementation of ThunkSection
1965 // InputSectionDescription at Target specific intervals. A ThunkSection is
1966 // placed so that the estimated end of the ThunkSection is within range of the
1967 // start of the InputSectionDescription or the previous ThunkSection. For
1973 // ThunkSection 0
1979 // The intention is that we can add a Thunk to a ThunkSection that is well
1982 // be placed in a pre-created ThunkSection; when this happens we create a new
1983 // ThunkSection placed next to the caller. This allows us to handle the vast
2013 [](const std::pair<ThunkSection *, uint32_t> &ts) {
2020 std::vector<ThunkSection *> newThunks;
2021 for (std::pair<ThunkSection *, uint32_t> ts : isd->thunkSections)
2025 [](const ThunkSection *a, const ThunkSection *b) {
2054 // Find or create a ThunkSection within the InputSectionDescription (ISD) that
2057 ThunkSection *ThunkCreator::getISDThunkSec(OutputSection *os,
2064 for (std::pair<ThunkSection *, uint32_t> tp : isd->thunkSections) {
2065 ThunkSection *ts = tp.first;
2073 // No suitable ThunkSection exists. This can happen when there is a branch
2074 // with lower range than the ThunkSection spacing or when there are too
2075 // many Thunks. Create a new ThunkSection as close to the InputSection as
2076 // possible. Error if InputSection is so large we cannot place ThunkSection
2090 // Add a Thunk that needs to be placed in a ThunkSection that immediately
2092 ThunkSection *ThunkCreator::getISThunkSec(InputSection *isec) {
2093 ThunkSection *ts = thunkedSections.lookup(isec);
2128 // ThunkSection at the end of the range will do.
2131 // we place the last ThunkSection at range bytes from the end of the
2169 ThunkSection *ThunkCreator::addThunkSection(OutputSection *os,
2172 auto *ts = make<ThunkSection>(os, off);
2183 // We fix this by rounding up the size of the ThunkSection to 4KiB, this
2184 // limits the insertion of a ThunkSection on the addresses modulo 4 KiB,
2329 // Find or create a ThunkSection for the new Thunk
2330 ThunkSection *ts;