[llvm] [DenseMap] Optimize find/erase (PR #100517)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 2 17:09:59 PDT 2024
MaskRay wrote:
> Hello @MaskRay! Somehow this commit (and after) is failing one clang test when building the Windows LLVM package. `git bisect` lead me here.
>
> ```
> C:\src\git\llvm-project>git checkout c9e5af3944e85c5f1272c48522b4e9eda398b462
> Updating files: 100% (3558/3558), done.
> Note: switching to 'c9e5af3944e85c5f1272c48522b4e9eda398b462'.
> ...
> C:\src\git\llvm-project>llvm\utils\release\build_llvm_release.bat --x64 --version 19.0.0 --skip-checkout --local-python
> ...
> -- Testing: 20961 tests, 60 workers --
> Testing:
> FAIL: Clang :: CodeGenObjC/gnustep2-direct-method.m (1 of 20961)
> ******************** TEST 'Clang :: CodeGenObjC/gnustep2-direct-method.m' FAILED ********************
> Exit Code: 2
>
> Command Output (stdout):
> --
> # RUN: at line 1
> c:\src\git\llvm-project\llvm_package_19.0.0\build64_stage0\bin\clang.exe -cc1 -internal-isystem C:\src\git\llvm-project\llvm_package_19.0.0\build64_stage0\lib\clang\20\include -nostdsysteminc -triple x86_64-unknown-freebsd -emit-llvm -fobjc-runtime=gnustep-2.2 -o - C:\src\git\llvm-project\clang\test\CodeGenObjC\gnustep2-direct-method.m | c:\src\git\llvm-project\llvm_package_19.0.0\build64_stage0\bin\filecheck.exe C:\src\git\llvm-project\clang\test\CodeGenObjC\gnustep2-direct-method.m
> # executed command: 'c:\src\git\llvm-project\llvm_package_19.0.0\build64_stage0\bin\clang.exe' -cc1 -internal-isystem 'C:\src\git\llvm-project\llvm_package_19.0.0\build64_stage0\lib\clang\20\include' -nostdsysteminc -triple x86_64-unknown-freebsd -emit-llvm -fobjc-runtime=gnustep-2.2 -o - 'C:\src\git\llvm-project\clang\test\CodeGenObjC\gnustep2-direct-method.m'
> # .---command stderr------------
> # | C:\src\git\llvm-project\clang\test\CodeGenObjC\gnustep2-direct-method.m:3:12: warning: class 'X' defined without specifying a base class [-Wobjc-root-class]
> # | 3 | @interface X
> # | | ^
> # | C:\src\git\llvm-project\clang\test\CodeGenObjC\gnustep2-direct-method.m:3:13: note: add a super class to fix this problem
> # | 3 | @interface X
> # | | ^
> # | huge alignment values are unsupported
> # | %2 = load i64, ptr %1, align 9223372036854775808
> # | fatal error: error in backend: Broken module found, compilation aborted!
> # | PLEASE submit a bug report to [https://github.com/llvm/llvm-project/issues/](https://github.com/llvm/llvm-project/issues/?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen) and include the crash backtrace, preprocessed source, and associated run script.
> # | Stack dump:
> # | 0. Program arguments: c:\\src\\git\\llvm-project\\llvm_package_19.0.0\\build64_stage0\\bin\\clang.exe -cc1 -internal-isystem C:\\src\\git\\llvm-project\\llvm_package_19.0.0\\build64_stage0\\lib\\clang\\20\\include -nostdsysteminc -triple x86_64-unknown-freebsd -emit-llvm -fobjc-runtime=gnustep-2.2 -o - C:\\src\\git\\llvm-project\\clang\\test\\CodeGenObjC\\gnustep2-direct-method.m
> # | 1. <eof> parser at end of file
> # | 2. Optimizer
> # | 3. Running pass "verify" on module "C:\src\git\llvm-project\clang\test\CodeGenObjC\gnustep2-direct-method.m"
> # `-----------------------------
> # error: command failed with exit status: 70
> # executed command: 'c:\src\git\llvm-project\llvm_package_19.0.0\build64_stage0\bin\filecheck.exe' 'C:\src\git\llvm-project\clang\test\CodeGenObjC\gnustep2-direct-method.m'
> # .---command stderr------------
> # | FileCheck error: '<stdin>' is empty.
> # | FileCheck command line: c:\src\git\llvm-project\llvm_package_19.0.0\build64_stage0\bin\filecheck.exe C:\src\git\llvm-project\clang\test\CodeGenObjC\gnustep2-direct-method.m
> # `-----------------------------
> # error: command failed with exit status: 2
>
> --
>
> ********************
> Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
> ********************
> Failed Tests (1):
> Clang :: CodeGenObjC/gnustep2-direct-method.m
>
>
> Testing Time: 192.61s
>
> Total Discovered Tests: 37881
> Skipped : 8 (0.02%)
> Unsupported : 300 (0.79%)
> Passed : 37539 (99.10%)
> Expectedly Failed: 33 (0.09%)
> Failed : 1 (0.00%)
>
> FAILED: tools/clang/test/CMakeFiles/check-clang C:/src/git/llvm-project/llvm_package_19.0.0/build64_stage0/tools/clang/test/CMakeFiles/check-clang
> C:\Windows\system32\cmd.exe /C "cd /D C:\src\git\llvm-project\llvm_package_19.0.0\build64_stage0\tools\clang\test && C:\Users\aganea_havenstudios\AppData\Local\Programs\Python\Python312\python3.exe C:/src/git/llvm-project/llvm_package_19.0.0/build64_stage0/./bin/llvm-lit.py -sv --param USE_Z3_SOLVER=0 C:/src/git/llvm-project/llvm_package_19.0.0/build64_stage0/tools/clang/test"
> ninja: build stopped: subcommand failed.
> ```
>
> The problem does not occur on the previous commit `4aa4ee909029cd7cd85d67b41d488a6edb802dce`.
Hi! The failure looks weird. (a) Quite a few Windows bots are happy with this change. (b) If there were an issue, I suspect that quite a few tests would fail as well.
I think figuring this out might require the assistance of a debugger? Do you have luck with that ? :)
https://github.com/llvm/llvm-project/pull/100517
More information about the llvm-commits
mailing list