[llvm-dev] [cfe-dev] Phabricator -> GitHub PRs?

Nicolai Hähnle via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 15 11:11:39 PST 2020

Hi David,

On Wed, Jan 15, 2020 at 12:51 PM David Greene via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> I would like to understand better how people use Phab's advanced
> features and why.  For example, what drives the need for patch series
> and dependence relationships?  Some walk-through examples would be very
> helpful.

Here's a somewhat more complex example of changes made by myself a
year and a half ago, starting with https://reviews.llvm.org/D48013

It's a series of changes across TableGen and the AMDGPU backend to
refactor how we represent a class of instructions. Some patterns that
- an NFC (no functional change) refactoring/rename change in an area
that is then later touched by a functional change.
- a change to common infrastructure (TableGen) that is motivated by
and used by a subsequent functional change in the AMDGPU backend, but
which can stand on its own and which may want to be reviewed by
different people
- a cleanup change to remove deprecated functionality from the backend
once the refactored functionality is available, separated out in order
to smoothen the upgrade path for frontends that are maintained outside
of the llvm-project repository

Reviewing all of this in a single amorphous diff is something that I
wouldn't wish on anybody. Conversely, having the linkage between
different commits provides context to reviewers.

It is also helpful to me: I can keep track of reviews to the series
while simultaneously working on other changes that happen to be
unrelated, and having the commits in separate stacks helps by
implicitly grouping them. Admittedly this advantage is comparatively
minor because the UI isn't perfect.

Lerne, wie die Welt wirklich ist,
aber vergiss niemals, wie sie sein sollte.

More information about the llvm-dev mailing list