Skip to content
  • Chandler Carruth's avatar
    Teach machine block placement to cope with unnatural loops. These don't · 1071cfa4
    Chandler Carruth authored
    get loop info structures associated with them, and so we need some way
    to make forward progress selecting and placing basic blocks. The
    technique used here is pretty brutal -- it just scans the list of blocks
    looking for the first unplaced candidate. It keeps placing blocks like
    this until the CFG becomes tractable.
    
    The cost is somewhat unfortunate, it requires allocating a vector of all
    basic block pointers eagerly. I have some ideas about how to simplify
    and optimize this, but I'm trying to get the logic correct first.
    
    Thanks to Benjamin Kramer for the reduced test case out of GCC. Sadly
    there are other bugs that GCC is tickling that I'm reducing and working
    on now.
    
    llvm-svn: 144516
    1071cfa4
Loading