Issue |
154379
|
Summary |
[X86] regalloc fails for leaf function requiring 15 registers with `"frame-pointer"="non-leaf"`
|
Labels |
backend:X86
|
Assignees |
|
Reporter |
omern1
|
Reproducer: https://clang.godbolt.org/z/3veoajz7P
The inline assembly in the IR in the repro requires 14 registers + `ecx` which should be available given that this is a leaf function.
This was introduced in https://github.com/llvm/llvm-project/pull/146638.
The patch uses `TargetPointer::FramePointerIsReserved` to check whether the `rbp` should be reserved. `TargetPointer::FramePointerIsReserved` returns true even if `"frame-pointer"="non-leaf"` but doesn't check whether the MachineFunction in question is actually non-leaf.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs