[llvm-commits] [llvm] r135786 - /llvm/trunk/tools/llvm-objdump/MCFunction.cpp

Benjamin Kramer benny.kra at googlemail.com
Fri Jul 22 14:35:38 PDT 2011


On Fri, Jul 22, 2011 at 13:33, Chris Lattner <clattner at apple.com> wrote:
>
> On Jul 22, 2011, at 11:35 AM, Benjamin Kramer wrote:
>
>> Author: d0k
>> Date: Fri Jul 22 13:35:09 2011
>> New Revision: 135786
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=135786&view=rev
>> Log:
>> llvm-objdump: Skip branches that leave the current function.
>>
>> In "normal" code these only happen when disassembling data, so we
>> won't lose anything if we just drop them.
>
> Does this handle tail calls (which get compiled into a jump) properly?

Not really, but it also ignores tail calls with a relocation at the
moment, so the loss isn't too big ;). There's still a long way to go
here, I'll revisit this later.

In particular, I don't want to leave the cfg construction based on the
regions defined in the symbol table. The current algorithm isn't able
to figure that out though.

However, this change allows us to create CFGs from every .text symbol
in every single object file in LLVM and clang without crashing.

- Ben



More information about the llvm-commits mailing list