Skip to content

[AArch64] Extremely slow code generation for series of function calls/addition #50491

Open
@llvmbot

Description

@llvmbot
Bugzilla Link 51147
Version trunk
OS Linux
Attachments .c file producing failure
Reporter LLVM Bugzilla Contributor

Extended Description

In a function containing about 1000 calls and adds, we see the aarch64 target taking about 30 minutes to do code generation. The slow pass is:

BISECT: running pass (96) AArch64 Instruction Selection on function (len_internal)

Other targets have no issue and complete quickly.

gcc time: 0.617u 0.022s 0:00.65 96.9% 0+0k 32+160io 0pf+0w
clang aarch64 time: 1998.064u 0.135s 33:23.82 99.7% 0+0k 0+256io 0pf+0w
clang time default target: 0.706u 0.020s 0:00.74 97.2% 0+0k 0+144io 0pf+0w

Command that is slow: clang --target=aarch64-unknown-linux -O3 -c simple.c

Clang version - latest from trunk:
clang version 13.0.0 (https://github.com/llvm/llvm-project 9da70ab)

Attached the file that causes the slowdown

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions