[llvm] r252825 - [ARM] Enable shrink-wrapping by default.

Evgenii Stepanov via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 16 15:16:50 PST 2015


I've reverted 253116 locally, but can not reproduce the problem.

Anyway, it sounds like debug information is broken in part of the
function, i.e. the memory access is attributed to the calling function
- this should be visible in a debugger.

Unrelated: all compilations in the failing test use
-fno-omit-frame-pointer; with shrink wrapping part of the function is
run without a valid frame pointer. Is it OK?


On Fri, Nov 13, 2015 at 6:05 PM, Evgenii Stepanov <eugenis at google.com> wrote:
> I'm not sure without taking a closer look. Maybe next week.
>
> On Fri, Nov 13, 2015 at 6:03 PM, Quentin Colombet <qcolombet at apple.com> wrote:
>> Hi Evgenii,
>>
>> Thanks for the inputs.
>>
>> I’ve disabled shrink-wrapping for functions with the sanitize like
>> attributes in Committed revision 253116.
>> My understanding is that the frame information must be correct at the
>> location of the crash, which can happen anywhere, not just at what
>> shrink-wrapping considers as needing the frame to be lowered.
>>
>> Does that make sense or did I just create a workaround for something I
>> didn’t understand?
>>
>> Thanks,
>> -Quentin
>>
>> On Nov 12, 2015, at 12:59 PM, Evgenii Stepanov <eugenis at google.com> wrote:
>>
>> Looks like debug location for prologue code could be broken or
>> missing. See EntryDebugLocation in
>> FunctionStackPoisoner::poisonStack() in AddressSanitizer.cpp.
>>
>> On Thu, Nov 12, 2015 at 12:32 PM, Quentin Colombet <qcolombet at apple.com>
>> wrote:
>>
>> Hi,
>>
>> I’ve had a quick look and the generated code looks good to me.
>> The prologue code in the failing example is needed only just before the call
>> to the asan function (see attached assembly for x86).
>>
>> I am guessing that ASAN has some heuristics to find the prologue code in the
>> disassembly and that fails for the new code.
>> Note that the debugger just get it right!
>>
>> Could you advise on what to do?
>>
>> Thanks,
>> Q
>>
>>
>>
>> On Nov 12, 2015, at 9:45 AM, Quentin Colombet <qcolombet at apple.com> wrote:
>>
>> Hi Renato,
>>
>> Thanks for the follow-up.
>>
>> I’ll try to have a look as well, unless you beat me at it :).
>>
>> Cheers,
>> -Quentin
>>
>> On Nov 12, 2015, at 5:35 AM, Renato Golin <renato.golin at linaro.org> wrote:
>>
>> On 11 November 2015 at 23:31, Quentin Colombet via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>>
>> Author: qcolombet
>> Date: Wed Nov 11 17:31:46 2015
>> New Revision: 252825
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=252825&view=rev
>> Log:
>> [ARM] Enable shrink-wrapping by default.
>>
>> Differential Revision: http://reviews.llvm.org/D14357
>>
>> rdar://problem/21942589
>>
>>
>> Quentin,
>>
>> After bisecting, this seems to have caused:
>>
>> http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15-full/builds/9014
>>
>> http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15-full/builds/9014/steps/ninja%20check%201/logs/FAIL%3A%20AddressSanitizer-armhf-linux%3A%3Anull_deref.cc
>>
>> I'm copying sanitizer folks to understand what's the change here, but
>> I'm guessing the sanitizer instrumentation didn't get inserted right,
>> with the prologue changed.
>>
>> I'll revert for now...
>>
>> cheers,
>> --renato
>>
>>
>>
>>
>>


More information about the llvm-commits mailing list