[llvm-commits] [llvm] r64124 - in /llvm/trunk: include/llvm/Target/ lib/CodeGen/ lib/Target/ARM/ lib/Target/Alpha/ lib/Target/CellSPU/ lib/Target/Mips/ lib/Target/PowerPC/ lib/Target/X86/ lib/Target/XCore/

Dale Johannesen dalej at apple.com
Mon Feb 9 14:59:35 PST 2009


On Feb 9, 2009, at 12:41 AMPST, Evan Cheng wrote:

>
> On Feb 8, 2009, at 11:20 PM, Chris Lattner wrote:
>
>>
>> On Feb 8, 2009, at 11:14 PM, Evan Cheng wrote:
>>
>>> Author: evancheng
>>> Date: Mon Feb  9 01:14:22 2009
>>> New Revision: 64124
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=64124&view=rev
>>> Log:
>>> Turns out AnalyzeBranch can modify the mbb being analyzed. This is a
>>> nasty
>>> suprise to some callers, e.g. register coalescer. For now, add an
>>> parameter
>>> that tells AnalyzeBranch whether it's safe to modify the mbb. A
>>> better
>>> solution is out there, but I don't have time to deal with it right
>>> now.
>>
>> Whoa, that's really not cool.  *why* does analyze branch modify a
>> mbb?  What breaks if that is disabled from all targets?
>
> It's trimming instructions in a mbb after an unconditional branch. I
> don't know why that would happen but it does. I think it's branching
> folding's job to trim those instructions. But I don't have the energy
> to deal with that right now.

I think it's every pass's job to be sure things like this don't get  
created, and the verification between passes should check it.  This  
was not a popular view last time I expressed it:)




More information about the llvm-commits mailing list