> if bitregion_start/end are used after the adjust_address call then they have > to be adjusted (or bitpos left in place). In fact why we apply byte-parts > of bitpos here only if offset != 0 is weird.
Presumably to be able to do arithmetic on symbols when the offset is variable, which can save one addition in the final code. -- Eric Botcazou