[PATCH] LiveRange: create copyFrom() method, remove now unused createValueCopy()

Matthias Braun matze at braunis.de
Wed Feb 25 13:21:47 PST 2015


Hi qcolombet,

Fix/Redo computeMainRangeFromSubranges()

Contrary to my initial assumption there are cases where we need
additional phi-defs when constructing the main liverange from subranges.
Redo the implementation in LiveRangeCalc and utilize the SSA
construction facilities there. The downside is that this is more
expensive than before, the upside is simplified easier to undertsand
code that reuses existing infrastructure for the SSA construction.

I was not able to create a testcase for this for trunk as the cases
where this happens require somewhat "independent" subranges in different
control flow parts. With the normal instruction selection those get
lowered to different vregs in my tries. I only hit these cases for some
register coalescer changes I am prepare where
computeMainRangeFromSubranges() would be called after/during coalescing.

http://reviews.llvm.org/D7887

Files:
  include/llvm/CodeGen/LiveInterval.h
  lib/CodeGen/LiveInterval.cpp
  lib/CodeGen/LiveRangeCalc.cpp
  lib/CodeGen/LiveRangeCalc.h

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7887.20697.patch
Type: text/x-patch
Size: 14440 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150225/204da977/attachment.bin>


More information about the llvm-commits mailing list