llvm-project/llvm/test
Puyan Lotfi 7bc03f5553 [MachineOutliner][AArch64] WA for multiple stack fixup cases in MachineOutliner.
In cases where MachineOutliner candidates either are:

  * noreturn
  * have calls with no available LR or free regs
  * Don't use SP

we can end up hitting stack fixup code for the caller and the callee for
a FrameID of MachineOutlinerDefault. This triggers the assert:

  `assert(OF.FrameConstructionID != MachineOutlinerDefault &&
          "Can only fix up stack references once");`

in AArch64InstrInfo.cpp. This assert exists for now because a lot of the
fixup code is not tested to handle fixing up more than once and needs
some better checks and enhancements to avoid potentially generating
illegal code.

I've filed a Bugzilla report to track this until these cases are handled
by the AArch64 MachineOutliner: https://bugs.llvm.org/show_bug.cgi?id=46767

This diff detects cases that will cause these multiple stack fixups and
prune the Candidates from `RepeatedSequenceLocs`.

    Differential Revision: https://reviews.llvm.org/D83923
2020-08-10 15:43:30 -04:00
..
Analysis [WebAssembly][ConstantFolding] Fold fp-to-int truncation intrinsics 2020-08-10 12:40:05 -07:00
Assembler [ThinLTO] parse flags and blockcount summaries 2020-07-20 09:50:22 -07:00
Bindings [Bindings] Remove ipc_propagation. 2020-08-02 22:36:53 +01:00
Bitcode [StackSafety,NFC] Add combined index test 2020-08-04 18:31:58 -07:00
BugPoint
CodeGen [MachineOutliner][AArch64] WA for multiple stack fixup cases in MachineOutliner. 2020-08-10 15:43:30 -04:00
DebugInfo Re-Re-land: [CodeView] Add full repro to LF_BUILDINFO record 2020-08-10 13:36:30 -04:00
Demangle
Examples
ExecutionEngine [JITLink][MachO][AArch64] More PAGEOFF12 relocation fixes. 2020-08-05 21:09:45 -07:00
Feature [NewPM] Print 'Skipping pass' as pass instrumentation 2020-08-07 15:02:02 -07:00
FileCheck [FileCheck] Report captured variables 2020-07-28 19:15:18 -04:00
Instrumentation Revert "[MSAN] Instrument libatomic load/store calls" 2020-08-07 19:45:51 +00:00
Integer
JitListener
LTO
Linker
MC Revert "Reland D64327 [MC][ELF] Allow STT_SECTION referencing SHF_MERGE on REL targets" 2020-08-07 10:56:33 -07:00
MachineVerifier
Object [llvm-readobj] - Don't stop dumping when the name of a relocation section can't be read. 2020-08-03 14:49:09 +03:00
ObjectYAML [DWARFYAML][debug_info] Make the 'Values' field optional. 2020-08-06 20:43:52 +08:00
Other [NewPM][LoopUnswitch] Pin loop-unswitch to legacy PM or use simple-loop-unswitch 2020-08-06 10:56:00 -07:00
Reduce [Reduce] Rewrite function body delta pass again 2020-08-08 23:48:44 +03:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen [flang][NFC] Unify OpenMP and OpenACC structure checker 2020-08-05 14:25:49 -04:00
ThinLTO/X86 [ThinLTO] [test] cache.ll: Prevent Spotlight indexing of the output dir 2020-07-28 21:21:58 -07:00
Transforms [SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles 2020-08-10 12:41:09 -07:00
Unit
Verifier Verifier: Check byref address space for AMDGPU calling conventions 2020-07-20 11:13:11 -04:00
YAMLParser
tools [llvm-symbolizer] Add back --version and add a -v alias 2020-08-10 08:21:43 -07:00
.clang-format
CMakeLists.txt Revert "[CMake] Simplify CMake handling for zlib" 2020-08-08 17:08:23 -07:00
TestRunner.sh
lit.cfg.py Add test utility 'split-file' 2020-08-03 20:42:09 -07:00
lit.site.cfg.py.in Revert "[CMake] Simplify CMake handling for zlib" 2020-08-08 17:08:23 -07:00