[PATCH] D35985: Skip live range segment verification for reserved physregs

Stefan Maksimovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 4 06:18:13 PDT 2018


smaksimovic added a comment.

Ping.

In https://reviews.llvm.org/D35985#832657, @MatzeB wrote:

> I would expect the live ranges of register units that are reserved to be empty and therefore naturally pass verification. Do you know why you end up having non-empty information in those live ranges? We should identify the cause for that and fix it.


The LiveRange for https://reviews.llvm.org/F13 reserved register unit is initially empty but gets computed on demand at
RHS.overlaps(LIS->getRegUnit(*UI))
when joining intervals (RegisterCoalescer.cpp, joinReservedPhysReg function).
This is where we get the live range populated for this register unit.

After the copy instruction which uses $f13 gets removed, the previously computed live range however stays.
Since the live range for said register unit was empty in the first place and was computed only for the interval joining operation,
does discarding it make sense prior to deleting the copy instruction?
I didn't notice any regressions in the codegen test suite.


https://reviews.llvm.org/D35985





More information about the llvm-commits mailing list