[llvm] r321655 - [AArch64][GlobalISel] Enable GlobalISel at -O0 by default

Amara Emerson via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 17 19:10:30 PST 2018


> On 17 Jan 2018, at 21:45, Quentin Colombet <qcolombet at apple.com> wrote:
> 
> Hi Hans,
> 
> Thanks for the reminder.
> 
> I think we should!
> @Amara, did we get around a flag in clang to disable/enable global-isel, so that people can file more informed bugs or try it with optimizations?
> 
> Cheers,
> -Quentin
> 
>> On Jan 17, 2018, at 7:41 AM, Hans Wennborg via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>> 
>> Do you want to write something about this for the 6.0.0 release notes?
>> 
>> On Tue, Jan 2, 2018 at 5:30 PM, Amara Emerson via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>>> Author: aemerson
>>> Date: Tue Jan  2 08:30:47 2018
>>> New Revision: 321655
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=321655&view=rev
>>> Log:
>>> [AArch64][GlobalISel] Enable GlobalISel at -O0 by default
>>> 
>>> Tests updated to explicitly use fast-isel at -O0 instead of implicitly.
>>> 
>>> This change also allows an explicit -fast-isel option to override an
>>> implicitly enabled global-isel. Otherwise -fast-isel would have no effect at -O0.
>>> 
>>> Differential Revision: https://reviews.llvm.org/D41362
>>> 
>>> Modified:
>>>   llvm/trunk/include/llvm/CodeGen/TargetPassConfig.h
>>>   llvm/trunk/lib/CodeGen/TargetPassConfig.cpp
>>>   llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.cpp
>>>   llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
>>>   llvm/trunk/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
>>>   llvm/trunk/test/CodeGen/AArch64/aarch64_f16_be.ll
>>>   llvm/trunk/test/CodeGen/AArch64/and-mask-removal.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-EXT-undef-mask.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-abi.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-abi_align.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-elf-constpool.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-elf-globals.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-alloca.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-br.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-call.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-conversion.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-fcmp.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-gv.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-icmp.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-intrinsic.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-noconvert.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-rem.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-ret.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-simd-scalar-to-vector.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-tls-dynamic-together.ll
>>>   llvm/trunk/test/CodeGen/AArch64/arm64-vcvt_f.ll
>>>   llvm/trunk/test/CodeGen/AArch64/br-cond-not-merge.ll
>>>   llvm/trunk/test/CodeGen/AArch64/cmpxchg-O0.ll
>>>   llvm/trunk/test/CodeGen/AArch64/cxx-tlscc.ll
>>>   llvm/trunk/test/CodeGen/AArch64/fast-isel-atomic.ll
>>>   llvm/trunk/test/CodeGen/AArch64/fast-isel-sp-adjust.ll
>>>   llvm/trunk/test/CodeGen/AArch64/i128-fast-isel-fallback.ll
>>>   llvm/trunk/test/CodeGen/AArch64/preferred-alignment.ll
>>>   llvm/trunk/test/CodeGen/AArch64/swift-return.ll
>>>   llvm/trunk/test/CodeGen/AArch64/swifterror.ll
>>>   llvm/trunk/test/CodeGen/AArch64/swiftself.ll
>>>   llvm/trunk/test/CodeGen/AArch64/tailcall-fastisel.ll
>>>   llvm/trunk/test/DebugInfo/AArch64/asan-stack-vars.ll
>>>   llvm/trunk/test/DebugInfo/AArch64/frameindices.ll
>>>   llvm/trunk/test/DebugInfo/AArch64/line-header.ll
>>>   llvm/trunk/test/DebugInfo/AArch64/prologue_end.ll
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> 

@Hans We can definitely do that. As Quentin said we have a flag which we want to introduce to clang to give a more user friendly way to control the behaviour. I’ll post a patch for that soon.

Cheers,
Amara


More information about the llvm-commits mailing list