[PATCH] D99487: [CodeGen] Port basic block sections from ELF to COFF

TaoPan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 16 00:52:48 PDT 2021


TaoPan added a comment.

In D99487#2724701 <https://reviews.llvm.org/D99487#2724701>, @modimo wrote:

>> Thanks for guiding MSVC's SEH tests! I found the SEH tests use cl (not clang-cl) to compile the c test file https://github.com/microsoft/compiler-tests/blob/2fc7859d212d5fb59628eb21aec50dfb4b934146/seh/runtests.cmd#L8, I'll try to change cl to clang-cl and make sure non-regressed.
>
> Sure, those are the tests run by MSVC for SEH verification which is why it uses cl. Clang-cl sounds good for testing.

Sorry for late feedback of this comment!
I checked the microsoft SEH tests with

1. cl.exe

  a. x4ptcu.c: build error
2. clang-cl.exe + lld linker

  a. x4ptcu.c: build error

  b. seh0015.c, seh0017.c: build crash

  c. seh0034.c, seh0036.c, seh0041~0043.c, seh0048~0050.c, another build crash

  d. seh0020.c, seh0025, seh0026: build error

  e. sehframes.cpp: build pass, run dead loop
3. 2 + BBS related patches

  Test results are same with 2.
4. 3 + option -Xclang -fbasic-block-sections=all -Xclang -funique-basic-block-section-names

  a. All tests build crash, report lld link error

  lld/COFF/InputFiles.cpp, ObjFile::readAssociativeDefinition(), error(toString(this) + ": associative comdat " + name + " (sec " + Twine(sectionNumber) + ") has invalid reference to section " + parentName + " (sec " + Twine(parentIndex) + ")");

I'm investigating 4.a.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99487/new/

https://reviews.llvm.org/D99487



More information about the llvm-commits mailing list