The assertion is everzealous and fail tests like:
renamable $x3 = LI8 0 STD renamable $x3, 16, $x1 renamable $x3 = LI8 0
Remove the assertion since killed flag of $x3 is not mandentory.
Paths 
  |  Differential  D68344  
[PowerPC] Remove assertion "Shouldn't overwrite a register before it is killed" ClosedPublic Authored by Yi-Hong.Lyu on Oct 2 2019, 10:01 AM. 
Details Summary The assertion is everzealous and fail tests like: renamable $x3 = LI8 0 STD renamable $x3, 16, $x1 renamable $x3 = LI8 0 Remove the assertion since killed flag of $x3 is not mandentory. 
Diff Detail 
 Event TimelineThis revision is now accepted and ready to land.Oct 2 2019, 1:12 PM Closed by commit rG2fbfb04ffef4: [PowerPC] Remove assertion "Shouldn't overwrite a register before it is killed" (authored by Yi-Hong.Lyu).  ·  Explain WhyOct 10 2019, 10:33 PM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 224541 llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
 llvm/test/CodeGen/PowerPC/remove-redundant-load-imm.mir
  | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||