Page MenuHomePhabricator

jloser (Joe Loser)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 12 2018, 3:20 PM (237 w, 2 d)

Recent Activity

Mon, Sep 26

jloser added a comment to D134625: Summary: bug fix! Rotation direction on `__countl_zero()` probably unnoticed because only affects rare cases (does not affect 128 bit ints because rotation is effectively swap) (does not affect integers of sizes less or equal to 64bits).

Is there a test we can add to exhibit this bug and verify this fixes the problem?

Mon, Sep 26, 5:19 AM · Restricted Project, Restricted Project

Thu, Sep 22

jloser closed D134316: [clang][docs] Fix supported element types for `__builtin_reduce_(add|mul)`.

This landed with https://github.com/llvm/llvm-project/commit/cf77333da986720e9aded4301d81a581e2be9611. The revision didn't auto-close for some reason.

Thu, Sep 22, 6:54 AM · Restricted Project, Restricted Project
jloser committed rGcf77333da986: [clang][docs] Fix supported element types for __builtin_reduce_(add|mul) (authored by jloser).
[clang][docs] Fix supported element types for __builtin_reduce_(add|mul)
Thu, Sep 22, 6:53 AM · Restricted Project, Restricted Project

Tue, Sep 20

jloser requested review of D134316: [clang][docs] Fix supported element types for `__builtin_reduce_(add|mul)`.
Tue, Sep 20, 2:37 PM · Restricted Project, Restricted Project

Fri, Sep 16

jloser committed rG7061a3f3f89d: [support] Prepare TimeProfiler for cross-thread support (authored by mbs-modular).
[support] Prepare TimeProfiler for cross-thread support
Fri, Sep 16, 9:21 AM · Restricted Project, Restricted Project
jloser closed D133153: [support] Prepare TimeProfiler for cross-thread support.
Fri, Sep 16, 9:21 AM · Restricted Project, Restricted Project, Restricted Project

Thu, Sep 15

jloser accepted D133153: [support] Prepare TimeProfiler for cross-thread support.

@russell.gallop can you still repro a regression with the current patch?

Sorry to take a while to reply.

I rebuilt with Diff 460060 applied to 40ab7875f8ccb8d1b0166bf91475fc4d662cffe9 and yes, I do still see a build performance impact with -ftime-trace. I reproduced this building SemaExpr.cpp from a stage2 build so this should be something that you can reproduce.

In spite of the warning about statistical outliers (it was a pretty quiet PC), there is no overlap between the range of times with and without -ftime-trace so it's not just one or two samples causing this.

f:\git\llvm-project\stage2>%USERPROFILE%\bin\hyperfine -w 1 -m 10 "F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp" "F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp -ftime-trace"
Benchmark #1: F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp
  Time (mean ± σ):     42.646 s ±  0.417 s    [User: 1.3 ms, System: 13.0 ms]
  Range (min … max):   41.783 s … 43.535 s    10 runs

  Warning: Statistical outliers were detected. Consider re-running this benchmark on a quiet PC without any interferences from other programs. It might help to use the '--warmup' or '--prepare' options.

Benchmark #2: F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp -ftime-trace
  Time (mean ± σ):     46.308 s ±  1.108 s    [User: 3.9 ms, System: 9.9 ms]
  Range (min … max):   44.930 s … 49.074 s    10 runs

Summary
  'F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp' ran
    1.09 ± 0.03 times faster than 'F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp -ftime-trace'

And without this patch it's just 1%.

f:\git\llvm-project\stage2>%USERPROFILE%\bin\hyperfine -w 1 -m 10 "F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp" "F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp -ftime-trace"
Benchmark #1: F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp
  Time (mean ± σ):     40.761 s ±  1.346 s    [User: 1.2 ms, System: 7.4 ms]
  Range (min … max):   38.188 s … 42.256 s    10 runs

Benchmark #2: F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp -ftime-trace
  Time (mean ± σ):     41.162 s ±  0.319 s    [User: 2.5 ms, System: 8.7 ms]
  Range (min … max):   40.750 s … 41.845 s    10 runs

Summary
  'F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp' ran
    1.01 ± 0.03 times faster than 'F:\git\llvm-project\stage1\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GNU_SOURCE -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\clang\lib\Sema -IF:\git\llvm-project\clang\lib\Sema -IF:\git\llvm-project\clang\include -Itools\clang\include -Iinclude -IF:\git\llvm-project\llvm\include -Wno-nonportable-include-path /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /MT /O2 /Ob2 /DNDEBUG    /EHs-c- /GR- -std:c++17 /Fotools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaExpr.cpp.obj /Fdtools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\ -c F:\git\llvm-project\clang\lib\Sema\SemaExpr.cpp -ftime-trace'

Sorry I don't have time to look into this in more depth, but it is a cause for concern that we might be losing a nice property of -ftime-trace.

Apart from this I'm happy with the patch.

(And many apologies in advance if it's something I'm doing wrong here! I'd be interested if anyone else can reproduce this on SemaExpr. If it's just me then I'd suggest not blocking this patch landing due to this.)

Thu, Sep 15, 8:49 AM · Restricted Project, Restricted Project, Restricted Project
jloser committed rGf97cc6b71202: [libc++] Clean up `_LIBCPP_HAS_NO_PLATFORM_WAIT` macro (authored by jloser).
[libc++] Clean up `_LIBCPP_HAS_NO_PLATFORM_WAIT` macro
Thu, Sep 15, 8:46 AM · Restricted Project, Restricted Project
jloser closed D132715: [libc++] Clean up `_LIBCPP_HAS_NO_PLATFORM_WAIT` macro.
Thu, Sep 15, 8:45 AM · Restricted Project, Restricted Project

Tue, Sep 13

jloser added a comment to D132715: [libc++] Clean up `_LIBCPP_HAS_NO_PLATFORM_WAIT` macro.

ping @ldionne

Tue, Sep 13, 7:25 AM · Restricted Project, Restricted Project

Fri, Sep 9

jloser committed rG27731f047587: [llvm][lit] Respect GTEST_TOTAL_SHARDS and GTEST_SHARD_INDEX env vars (authored by jloser).
[llvm][lit] Respect GTEST_TOTAL_SHARDS and GTEST_SHARD_INDEX env vars
Fri, Sep 9, 4:48 PM · Restricted Project, Restricted Project
jloser added inline comments to D133542: [llvm][lit] Respect GTEST_TOTAL_SHARDS and GTEST_SHARD_INDEX env vars.
Fri, Sep 9, 4:48 PM · Restricted Project, Restricted Project
jloser closed D133542: [llvm][lit] Respect GTEST_TOTAL_SHARDS and GTEST_SHARD_INDEX env vars.
Fri, Sep 9, 4:48 PM · Restricted Project, Restricted Project
jloser committed rG62b8a61d6c44: [llvm] Remove includes of `llvm/Support/STLArrayExtras.h` (authored by jloser).
[llvm] Remove includes of `llvm/Support/STLArrayExtras.h`
Fri, Sep 9, 4:45 PM · Restricted Project, Restricted Project
jloser closed D133600: [llvm] Remove includes of `llvm/Support/STLArrayExtras.h`.
Fri, Sep 9, 4:44 PM · Restricted Project, Restricted Project
jloser added a comment to D133502: [ADT] Mark `llvm::array_lengthof` as deprecated.

This produces a warning when built with GCC for every single source file that includes the header:

../include/llvm/Support/Compiler.h:145:35: warning: attribute ignored [-Wattributes]  
  145 | #define LLVM_DEPRECATED(MSG, FIX) [[deprecated(MSG)]]
      |                                   ^
../include/llvm/ADT/STLArrayExtras.h:31:18: note: in expansion of macro ‘LLVM_DEPRECATED’        
   31 | constexpr inline LLVM_DEPRECATED("Use std::size instead.", "std::size") size_t
      |                  ^~~~~~~~~~~~~~~
../include/llvm/Support/Compiler.h:145:35: note: an attribute that appertains to a type-specifier is ignored              
  145 | #define LLVM_DEPRECATED(MSG, FIX) [[deprecated(MSG)]]
      |                                   ^
../include/llvm/ADT/STLArrayExtras.h:31:18: note: in expansion of macro ‘LLVM_DEPRECATED’
   31 | constexpr inline LLVM_DEPRECATED("Use std::size instead.", "std::size") size_t
      |                  ^~~~~~~~~~~~~~~

Should be fixed now. The placement before Placement of LLVM_DEPRECATED matters was actually correct for [[deprecated(...)]] :)

Fri, Sep 9, 4:02 PM · Restricted Project, Restricted Project
jloser updated the diff for D133600: [llvm] Remove includes of `llvm/Support/STLArrayExtras.h`.

Rebase now that https://reviews.llvm.org/D133598 has landed

Fri, Sep 9, 2:39 PM · Restricted Project, Restricted Project
jloser committed rG5758c824dab4: [ADT] Mark `llvm::array_lengthof` as deprecated (authored by jloser).
[ADT] Mark `llvm::array_lengthof` as deprecated
Fri, Sep 9, 2:32 PM · Restricted Project, Restricted Project
jloser closed D133502: [ADT] Mark `llvm::array_lengthof` as deprecated.
Fri, Sep 9, 2:32 PM · Restricted Project, Restricted Project
jloser committed rG1173ecf9fbc7: [lld] Use std::size instead of llvm::array_lengthof (authored by jloser).
[lld] Use std::size instead of llvm::array_lengthof
Fri, Sep 9, 2:30 PM · Restricted Project
jloser closed D133598: [lld] Use std::size instead of llvm::array_lengthof.
Fri, Sep 9, 2:29 PM · Restricted Project, Restricted Project
jloser updated the diff for D133598: [lld] Use std::size instead of llvm::array_lengthof.

clang-format

Fri, Sep 9, 12:49 PM · Restricted Project, Restricted Project
jloser added a comment to D133542: [llvm][lit] Respect GTEST_TOTAL_SHARDS and GTEST_SHARD_INDEX env vars.

Looks good. I think this is useful to discover whether tests are affecting each other or to disable sharding if the platform has trouble correctly emitting & parsing the GTest JSON result file (like the Github issues you mentioned). On a side note, if you think the LIT sharding implementation is buggy, it is better to submit a bug report.

Could you please add a test? Thanks.

Fri, Sep 9, 12:48 PM · Restricted Project, Restricted Project
jloser updated the diff for D133542: [llvm][lit] Respect GTEST_TOTAL_SHARDS and GTEST_SHARD_INDEX env vars.

Add test and use os.environ.get

Fri, Sep 9, 12:45 PM · Restricted Project, Restricted Project
jloser requested review of D133600: [llvm] Remove includes of `llvm/Support/STLArrayExtras.h`.
Fri, Sep 9, 11:50 AM · Restricted Project, Restricted Project
jloser requested review of D133598: [lld] Use std::size instead of llvm::array_lengthof.
Fri, Sep 9, 11:44 AM · Restricted Project, Restricted Project
jloser updated the diff for D133502: [ADT] Mark `llvm::array_lengthof` as deprecated.

Include "llvm/Support/Compiler.h" explicitly for using LLVM_DEPRECATED

Fri, Sep 9, 11:42 AM · Restricted Project, Restricted Project

Thu, Sep 8

jloser requested review of D133542: [llvm][lit] Respect GTEST_TOTAL_SHARDS and GTEST_SHARD_INDEX env vars.
Thu, Sep 8, 5:04 PM · Restricted Project, Restricted Project
jloser committed rG1b3a78d1d534: [clang] Use std::size instead of llvm::array_lengthof (authored by jloser).
[clang] Use std::size instead of llvm::array_lengthof
Thu, Sep 8, 4:21 PM · Restricted Project, Restricted Project
jloser closed D133520: [clang] Use std::size instead of llvm::array_lengthof.
Thu, Sep 8, 4:21 PM · Restricted Project, Restricted Project
jloser requested review of D133520: [clang] Use std::size instead of llvm::array_lengthof.
Thu, Sep 8, 1:32 PM · Restricted Project, Restricted Project
jloser updated the diff for D133502: [ADT] Mark `llvm::array_lengthof` as deprecated.

Placement of LLVM_DEPRECATED matters

Thu, Sep 8, 1:25 PM · Restricted Project, Restricted Project
jloser committed rG47b76631e768: [lldb] Use std::size instead of llvm::array_lengthof (authored by jloser).
[lldb] Use std::size instead of llvm::array_lengthof
Thu, Sep 8, 1:23 PM · Restricted Project
jloser closed D133501: [lldb] Use std::size instead of llvm::array_lengthof.
Thu, Sep 8, 1:22 PM · Restricted Project, Restricted Project
jloser added a comment to D133502: [ADT] Mark `llvm::array_lengthof` as deprecated.

By the way, I just realized that array_lengthof is the only thing in STLArrayExtras.h. You might want to consider a follow-up patch to stop including the header file (at 7 places or so). Thanks!

Thu, Sep 8, 9:24 AM · Restricted Project, Restricted Project
jloser updated the diff for D133502: [ADT] Mark `llvm::array_lengthof` as deprecated.

Use LLVM_DEPRECATED instead

Thu, Sep 8, 9:23 AM · Restricted Project, Restricted Project
jloser accepted D133435: [libc++] Removes Clang 13 support..

LGTM — thanks!

Thu, Sep 8, 8:49 AM · Restricted Project, Restricted Project
jloser added inline comments to D133435: [libc++] Removes Clang 13 support..
Thu, Sep 8, 8:48 AM · Restricted Project, Restricted Project
jloser accepted D133490: [libc++] Fix compilation error on platforms that don't implement std::tm.

LGTM!

Thu, Sep 8, 8:43 AM · Restricted Project, Restricted Project
jloser added a comment to D133429: [llvm] Use std::size instead of llvm::array_lengthof.

As a follow-up, probably good to deprecate the API with the necessary recommended alternative for at least a little while, to client code migrations easier.

@kazu - this might be something you'd be interested in helping with, or pointing @jloser to the right tools/directions.

Thu, Sep 8, 8:17 AM · Restricted Project, Restricted Project
jloser requested review of D133502: [ADT] Mark `llvm::array_lengthof` as deprecated.
Thu, Sep 8, 8:15 AM · Restricted Project, Restricted Project
jloser requested review of D133501: [lldb] Use std::size instead of llvm::array_lengthof.
Thu, Sep 8, 8:10 AM · Restricted Project, Restricted Project
jloser committed rG5e96cea1db06: [llvm] Use std::size instead of llvm::array_lengthof (authored by jloser).
[llvm] Use std::size instead of llvm::array_lengthof
Thu, Sep 8, 8:03 AM · Restricted Project, Restricted Project
jloser closed D133429: [llvm] Use std::size instead of llvm::array_lengthof.
Thu, Sep 8, 8:02 AM · Restricted Project, Restricted Project
jloser added inline comments to D133490: [libc++] Fix compilation error on platforms that don't implement std::tm.
Thu, Sep 8, 7:54 AM · Restricted Project, Restricted Project

Wed, Sep 7

jloser added inline comments to D133435: [libc++] Removes Clang 13 support..
Wed, Sep 7, 2:01 PM · Restricted Project, Restricted Project
jloser committed rGe5a8f50ab160: [mlir] Use std::size instead of llvm::array_lengthof (authored by jloser).
[mlir] Use std::size instead of llvm::array_lengthof
Wed, Sep 7, 8:56 AM · Restricted Project, Restricted Project
jloser closed D133387: [mlir] Use std::size instead of llvm::array_lengthof.
Wed, Sep 7, 8:55 AM · Restricted Project, Restricted Project
jloser requested review of D133429: [llvm] Use std::size instead of llvm::array_lengthof.
Wed, Sep 7, 8:54 AM · Restricted Project, Restricted Project
jloser added inline comments to D133387: [mlir] Use std::size instead of llvm::array_lengthof.
Wed, Sep 7, 8:12 AM · Restricted Project, Restricted Project
jloser updated the diff for D133387: [mlir] Use std::size instead of llvm::array_lengthof.

clang-format and rebase

Wed, Sep 7, 8:11 AM · Restricted Project, Restricted Project

Tue, Sep 6

jloser updated the diff for D133387: [mlir] Use std::size instead of llvm::array_lengthof.

Remove #include <iterator> from SPIRVBase.td

Tue, Sep 6, 5:39 PM · Restricted Project, Restricted Project
jloser requested review of D133387: [mlir] Use std::size instead of llvm::array_lengthof.
Tue, Sep 6, 5:03 PM · Restricted Project, Restricted Project
jloser added a comment to D132715: [libc++] Clean up `_LIBCPP_HAS_NO_PLATFORM_WAIT` macro.

Gentle ping @ldionne

Tue, Sep 6, 10:47 AM · Restricted Project, Restricted Project

Tue, Aug 30

jloser added inline comments to D132284: [libc++] Reduces the number of transitive includes..
Tue, Aug 30, 8:01 AM · Restricted Project, Restricted Project

Aug 26 2022

jloser accepted D132744: [llvm][ADT] Fix formatting for files relevant to `StringMap`..

Seems fine with me.

Aug 26 2022, 8:46 AM · Restricted Project, Restricted Project

Aug 25 2022

jloser requested review of D132715: [libc++] Clean up `_LIBCPP_HAS_NO_PLATFORM_WAIT` macro.
Aug 25 2022, 8:33 PM · Restricted Project, Restricted Project
jloser committed rGeb1ceb17ae97: [libc++][test] Use TEST_HAS_NO_CHAR8_T to simplify #ifdefs. NFCI. (authored by jloser).
[libc++][test] Use TEST_HAS_NO_CHAR8_T to simplify #ifdefs. NFCI.
Aug 25 2022, 8:10 PM · Restricted Project, Restricted Project
jloser closed D132626: [libc++][test] Use TEST_HAS_NO_CHAR8_T to simplify #ifdefs. NFCI..
Aug 25 2022, 8:09 PM · Restricted Project, Restricted Project
jloser committed rG77eac327167c: [ADT] Make `llvm::identity` a transparent function object (authored by jloser).
[ADT] Make `llvm::identity` a transparent function object
Aug 25 2022, 8:08 PM · Restricted Project, Restricted Project
jloser closed D132628: [ADT] Make `llvm::identity` a transparent function object.
Aug 25 2022, 8:07 PM · Restricted Project, Restricted Project

Aug 24 2022

jloser requested review of D132628: [ADT] Make `llvm::identity` a transparent function object.
Aug 24 2022, 6:37 PM · Restricted Project, Restricted Project
jloser requested review of D132626: [libc++][test] Use TEST_HAS_NO_CHAR8_T to simplify #ifdefs. NFCI..
Aug 24 2022, 5:59 PM · Restricted Project, Restricted Project

Aug 21 2022

jloser committed rG4a51b0c05b3e: [ADT] Remove `is_invocable` from `STLExtras.h` (authored by jloser).
[ADT] Remove `is_invocable` from `STLExtras.h`
Aug 21 2022, 5:16 PM · Restricted Project, Restricted Project
jloser closed D132321: [ADT] Remove `is_invocable` from `STLExtras.h`.
Aug 21 2022, 5:16 PM · Restricted Project, Restricted Project
jloser committed rG7e2cf2679ebc: [ADT] Clarify llvm::bit_cast implementation comment (authored by jloser).
[ADT] Clarify llvm::bit_cast implementation comment
Aug 21 2022, 5:15 PM · Restricted Project, Restricted Project
jloser closed D132332: [ADT] Clarify llvm::bit_cast implementation comment.
Aug 21 2022, 5:14 PM · Restricted Project, Restricted Project
jloser updated the diff for D132332: [ADT] Clarify llvm::bit_cast implementation comment.

Only mention the C++17 vs C++20 difference - leave the trivially constructible comment alone.

Aug 21 2022, 9:49 AM · Restricted Project, Restricted Project
jloser added inline comments to D132330: [ADT] Simplify llvm::bit_cast (NFC).
Aug 21 2022, 9:47 AM · Restricted Project, Restricted Project
jloser requested review of D132332: [ADT] Clarify llvm::bit_cast implementation comment.
Aug 21 2022, 9:44 AM · Restricted Project, Restricted Project
jloser committed rG99694a5d1df4: [ADT] Replace `void_t` equivalent with `std::void_t` (authored by jloser).
[ADT] Replace `void_t` equivalent with `std::void_t`
Aug 21 2022, 9:38 AM · Restricted Project, Restricted Project
jloser closed D132319: [ADT] Replace `void_t` equivalent with `std::void_t`.
Aug 21 2022, 9:38 AM · Restricted Project, Restricted Project
jloser updated the diff for D132321: [ADT] Remove `is_invocable` from `STLExtras.h`.

Rebase to make sure CI failure is unrelated

Aug 21 2022, 6:57 AM · Restricted Project, Restricted Project
jloser committed rG6ebc2a189da5: [libc++] Fix typos in deprecation messages for experimental searchers (authored by jloser).
[libc++] Fix typos in deprecation messages for experimental searchers
Aug 21 2022, 6:56 AM · Restricted Project, Restricted Project
jloser closed D132317: [libc++] Fix typos in deprecation messages for experimental searchers.
Aug 21 2022, 6:56 AM · Restricted Project, Restricted Project
jloser updated the diff for D132319: [ADT] Replace `void_t` equivalent with `std::void_t`.

Rebase to make sure CI failure is unrelated

Aug 21 2022, 6:54 AM · Restricted Project, Restricted Project
jloser added a comment to D132312: [libc++][spaceship] Implement `operator<=>` for `list`.

One thing I have thought about in our march towards finishing the lexically ordered containers is that we should be able to write a test utils header with one or more templated test functions that will work for most or all of these containers. We can possibly even add (in another header?) some helpful types like weakly ordered ints, types that compare with user orderings, etc. so we don't have to keep writing them over and over. This feels fairly sane to me but I don't know what the general vibe is on how DRY is too DRY for our test suite, and maybe it's better to just copy-paste those parts of the code each time.

Aug 21 2022, 6:53 AM · Restricted Project, Restricted Project

Aug 20 2022

jloser requested review of D132321: [ADT] Remove `is_invocable` from `STLExtras.h`.
Aug 20 2022, 5:49 PM · Restricted Project, Restricted Project
jloser committed rG1b08b276ae6d: [mlir] Use std::is_invocable instead of llvm::is_invocable (authored by jloser).
[mlir] Use std::is_invocable instead of llvm::is_invocable
Aug 20 2022, 5:31 PM · Restricted Project, Restricted Project
jloser closed D132318: [mlir] Use std::is_invocable instead of llvm::is_invocable.
Aug 20 2022, 5:31 PM · Restricted Project, Restricted Project
jloser requested review of D132319: [ADT] Replace `void_t` equivalent with `std::void_t`.
Aug 20 2022, 4:56 PM · Restricted Project, Restricted Project
jloser added inline comments to D132318: [mlir] Use std::is_invocable instead of llvm::is_invocable.
Aug 20 2022, 4:48 PM · Restricted Project, Restricted Project
jloser added a comment to D132318: [mlir] Use std::is_invocable instead of llvm::is_invocable.

Should the latter be removed from ADT?

Aug 20 2022, 4:47 PM · Restricted Project, Restricted Project
jloser updated the diff for D132318: [mlir] Use std::is_invocable instead of llvm::is_invocable.

clang-format

Aug 20 2022, 4:34 PM · Restricted Project, Restricted Project
jloser requested review of D132318: [mlir] Use std::is_invocable instead of llvm::is_invocable.
Aug 20 2022, 4:33 PM · Restricted Project, Restricted Project
jloser abandoned D119198: [libc++] Remove default_searcher from experimental/functional.

This work is already done - abandoning this patch.

Aug 20 2022, 4:23 PM · Restricted Project, Restricted Project
jloser requested review of D132317: [libc++] Fix typos in deprecation messages for experimental searchers.
Aug 20 2022, 4:23 PM · Restricted Project, Restricted Project

Aug 18 2022

jloser added a comment to D132151: [libc++] Make <ranges> non-experimental.

Love it!

Aug 18 2022, 2:10 PM · Restricted Project, Restricted Project
jloser updated the diff for D131869: [llvm] Remove std::clamp equivalent in `Transforms/Utils/MisExpect.cpp`.

Rebase to see if CI is happy

Aug 18 2022, 9:09 AM · Restricted Project, Restricted Project

Aug 17 2022

jloser updated the diff for D131869: [llvm] Remove std::clamp equivalent in `Transforms/Utils/MisExpect.cpp`.

Reintroduce cast for MisExpectTolerance to go from cl::opt<uint32_t> to uint32_t.

Aug 17 2022, 6:21 PM · Restricted Project, Restricted Project
jloser added inline comments to D131869: [llvm] Remove std::clamp equivalent in `Transforms/Utils/MisExpect.cpp`.
Aug 17 2022, 8:40 AM · Restricted Project, Restricted Project
jloser updated the diff for D131869: [llvm] Remove std::clamp equivalent in `Transforms/Utils/MisExpect.cpp`.

Rebase since D131869 landed. Remove use of static_cast for the tolerance.

Aug 17 2022, 8:40 AM · Restricted Project, Restricted Project
jloser accepted D131935: [clang][llvm][NFC] Change misexpect's tolerance option to be 32-bit.

LGTM! Thanks for the follow-up cleanup. I'll rebase once this lands to avoid the cast in https://reviews.llvm.org/D131869 if that works for you.

Aug 17 2022, 7:27 AM · Restricted Project, Restricted Project, Restricted Project

Aug 15 2022

jloser updated the diff for D131869: [llvm] Remove std::clamp equivalent in `Transforms/Utils/MisExpect.cpp`.

Fix deduction of std::clamp by casting Tolerance.

Aug 15 2022, 7:14 AM · Restricted Project, Restricted Project
jloser added a comment to D131889: [libc++][test] Fix conversion signed/unsigned in test/support/MoveOnly.h.

LGTM!

Aug 15 2022, 7:00 AM · Restricted Project, Restricted Project

Aug 14 2022

jloser requested review of D131869: [llvm] Remove std::clamp equivalent in `Transforms/Utils/MisExpect.cpp`.
Aug 14 2022, 8:15 PM · Restricted Project, Restricted Project
jloser retitled D131847: Draft: [llvm] Replace uses of llvm::Any with std::any from [llvm] Replace uses of llvm::Any with std::any to Draft: [llvm] Replace uses of llvm::Any with std::any.
Aug 14 2022, 10:25 AM · Restricted Project, Restricted Project
jloser updated the diff for D131847: Draft: [llvm] Replace uses of llvm::Any with std::any.

Use std::any in llvm/lib/CodeGen/MachinePassManager.cpp.

Aug 14 2022, 9:46 AM · Restricted Project, Restricted Project
jloser updated the diff for D131847: Draft: [llvm] Replace uses of llvm::Any with std::any.

Replace uses of llvm::Any in lib/IR/PassTimingInfo.cpp.

Aug 14 2022, 9:28 AM · Restricted Project, Restricted Project
jloser abandoned D131643: [mlir] Replace some std::tie uses with structured bindings.

Given the concerns about losing the explicit type information for variable declarations, I'm no longer going to pursue these changes.

Aug 14 2022, 8:52 AM · Restricted Project, Restricted Project