Page MenuHomePhabricator

aganea (Alexandre Ganea)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 6 2017, 1:24 PM (110 w, 2 d)

Recent Activity

Thu, Jan 16

aganea added a comment to D71547: Resubmit "[Alignment][NFC] Deprecate CreateMemCpy/CreateMemMove".

Hi! Since this is the last commit in Instructions.cpp, you can maybe help?

Thu, Jan 16, 8:09 AM · Restricted Project
Herald added a reviewer for D71775: [ThreadPool] On Windows, extend usage to all CPU sockets and all NUMA groups: nicolasvasilache.

Ping! Any further comments?

Thu, Jan 16, 6:01 AM · Restricted Project, Restricted Project

Wed, Jan 15

aganea added a comment to D52193: RFC: [clang] Multithreaded compilation support -- NOT FOR SUBMIT.

Hi @tycho ! Sorry for not getting back earlier.
I implemented an alternate approach last year, which proved to be better (in terms of build times) than what I proposed in this demo patch. That is, using a thread pool instead of the process pool as implemented here. This makes compilation with /MP considerably faster, and allows for neat optimizations like file caching, re-using allocated memory pages, and possibly other things down the line. But before getting there, it requires somehow making cl::opt and the CommandLineParser thread-safe, thus revive this RFC thread. In essence, we want a mode where cl::opts have their data optionally stored in a stack context, so that we can safely call a CC1Command in each thread. I'll write a proposal to revive the RFC.

Wed, Jan 15, 7:29 PM · Restricted Project, Restricted Project
aganea added a comment to D72769: Replace CLANG_SPAWN_CC1 env var with a driver mode flag.

I guess CLANG_SPAWN_CC1 is/was mostly for debugging purposes. We have otherwise no use for that env var in production, other than for occasional testing.

Wed, Jan 15, 8:16 AM
aganea added a comment to D69585: PerformPendingInstatiations() already in the PCH.

I'm glad you're fixing this, this problem has came up in our profile traces as well.

Wed, Jan 15, 7:00 AM · Restricted Project

Tue, Jan 14

aganea committed rG88b8cb7215d4: Fix NetBSD bot after b4a99a061f517e60985667e39519f60186cbb469 ([Clang][Driver]… (authored by aganea).
Fix NetBSD bot after b4a99a061f517e60985667e39519f60186cbb469 ([Clang][Driver]…
Tue, Jan 14, 11:33 AM
aganea added a comment to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.

Fixed NetBSD as suggested in rG88b8cb7215d4333ab990c99f21c7f92262ef02ef

Tue, Jan 14, 11:32 AM · Restricted Project, Restricted Project

Mon, Jan 13

aganea added a comment to D71040: [ThinLTO/WPD] Fix index-based WPD for alias vtables.

Ping @evgeny777 @steven_wu!
Do you think you can take a look at this please? It'd be nice if it could land before the 10.0 branch. Thanks!

Mon, Jan 13, 10:16 AM · Restricted Project
aganea added a comment to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.

Attention Apple maintainers: after this patch, do not forget to add -DCLANG_SPAWN_CC1=ON to your release scripts, to retain your previous crash reporting behavior (see discussion above). @dexonsmith @arphaman

Mon, Jan 13, 7:53 AM · Restricted Project, Restricted Project
aganea committed rGb4a99a061f51: [Clang][Driver] Re-use the calling process instead of creating a new process… (authored by aganea).
[Clang][Driver] Re-use the calling process instead of creating a new process…
Mon, Jan 13, 7:44 AM
aganea closed D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.
Mon, Jan 13, 7:44 AM · Restricted Project, Restricted Project

Sun, Jan 12

aganea committed rGde797ccdd74f: [NFC] Fix compilation of CrashRecoveryContext.cpp on mingw (authored by zero9178).
[NFC] Fix compilation of CrashRecoveryContext.cpp on mingw
Sun, Jan 12, 11:47 AM
aganea closed D72564: [NFC] Fix compilation of CrashRecoveryContext.cpp on mingw.
Sun, Jan 12, 11:47 AM · Restricted Project
aganea added inline comments to D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.
Sun, Jan 12, 11:47 AM · Restricted Project, Restricted Project
aganea accepted D72564: [NFC] Fix compilation of CrashRecoveryContext.cpp on mingw.

Thanks for the fix Markus! I can commit on your behalf.

Sun, Jan 12, 9:08 AM · Restricted Project

Sat, Jan 11

aganea added a comment to D72310: [mlir][VectorOps] Implement strided_slice conversion.

Hi,
This patch fails to build with MSVC (here building with latest Visual Studio 2019 16.4.2).
Could you possibly take a look please? Thanks!

[801/3515] Building CXX object tools\mlir\lib\Conversion\VectorToLLVM\CMakeFiles\MLIRVectorToLLVM.dir\ConvertVectorToLLVM.cpp.obj
FAILED: tools/mlir/lib/Conversion/VectorToLLVM/CMakeFiles/MLIRVectorToLLVM.dir/ConvertVectorToLLVM.cpp.obj
C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1424~1.283\bin\HostX64\x64\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_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\mlir\lib\Conversion\VectorToLLVM -ID:\llvm-project\mlir\lib\Conversion\VectorToLLVM -Iinclude -ID:\llvm-project\llvm\include -ID:\llvm-project\mlir\include -Itools\mlir\include /DWIN32 /D_WINDOWS   /Zc:inline /Zi /Zc:strictStrings /Oi /Zc:rvalueCast /W4 -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4345 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd4324 -w14062 -we4238 /MT /O2 /Ob2   -UNDEBUG  /EHs-c- /GR- -std:c++14 /showIncludes /Fotools\mlir\lib\Conversion\VectorToLLVM\CMakeFiles\MLIRVectorToLLVM.dir\ConvertVectorToLLVM.cpp.obj /Fdtools\mlir\lib\Conversion\VectorToLLVM\CMakeFiles\MLIRVectorToLLVM.dir\MLIRVectorToLLVM.pdb /FS -c D:\llvm-project\mlir\lib\Conversion\VectorToLLVM\ConvertVectorToLLVM.cpp
D:\llvm-project\mlir\include\mlir/IR/Attributes.h(234): error C2440: '<function-style-cast>': cannot convert from 'mlir::ArrayAttr::iterator' to 'mlir::ArrayAttr::attr_value_iterator<mlir::IntegerAttr>'
D:\llvm-project\mlir\include\mlir/IR/Attributes.h(234): note: No constructor could take the source type, or constructor overload resolution was ambiguous
D:\llvm-project\mlir\lib\Conversion\VectorToLLVM\ConvertVectorToLLVM.cpp(117): note: see reference to function template instantiation 'llvm::iterator_range<mlir::ArrayAttr::attr_value_iterator<mlir::IntegerAttr>> mlir::ArrayAttr::getAsRange<mlir::IntegerAttr>(void)' being compiled
D:\llvm-project\mlir\include\mlir/IR/Attributes.h(235): error C2440: '<function-style-cast>': cannot convert from 'mlir::ArrayAttr::iterator' to 'mlir::ArrayAttr::attr_value_iterator<mlir::IntegerAttr>'
D:\llvm-project\mlir\include\mlir/IR/Attributes.h(235): note: No constructor could take the source type, or constructor overload resolution was ambiguous
D:\llvm-project\mlir\include\mlir/IR/Attributes.h(234): error C2672: 'llvm::make_range': no matching overloaded function found
D:\llvm-project\mlir\include\mlir/IR/Attributes.h(235): error C2780: 'llvm::iterator_range<IteratorT> llvm::make_range(T,T)': expects 2 arguments - 1 provided
D:\llvm-project\llvm\include\llvm/ADT/iterator_range.h(54): note: see declaration of 'llvm::make_range'
[874/2733] Building CXX object lib\Target\AArch64\CMakeFiles\LLVMAArch64CodeGen.dir\AArch64ISelDAGToDAG.cpp.obj
ninja: build stopped: subcommand failed.
Sat, Jan 11, 12:50 PM · Restricted Project
aganea committed rGa1f16998f371: [Support] Optionally call signal handlers when a function wrapped by the the… (authored by aganea).
[Support] Optionally call signal handlers when a function wrapped by the the…
Sat, Jan 11, 12:33 PM
aganea closed D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.
Sat, Jan 11, 12:32 PM · Restricted Project, Restricted Project

Fri, Jan 10

aganea committed rGde0a22471157: Remove umask tests (authored by aganea).
Remove umask tests
Fri, Jan 10, 6:09 PM
aganea closed D70854: [Clang] In tests, do not always assume others permissions are set.
Fri, Jan 10, 6:09 PM · Restricted Project, Restricted Project
aganea added inline comments to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.
Fri, Jan 10, 5:51 PM · Restricted Project, Restricted Project
aganea updated the diff for D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.
Fri, Jan 10, 5:51 PM · Restricted Project, Restricted Project
aganea added a comment to D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.

Thanks for taking the time @hans!

Fri, Jan 10, 8:15 AM · Restricted Project, Restricted Project

Thu, Jan 9

aganea added inline comments to D71775: [ThreadPool] On Windows, extend usage to all CPU sockets and all NUMA groups.
Thu, Jan 9, 2:19 PM · Restricted Project, Restricted Project
aganea updated the diff for D71775: [ThreadPool] On Windows, extend usage to all CPU sockets and all NUMA groups.

Updated as suggested by @rnk.
I've also removed ThreadPoolStrategy::PinThreads because it wasn't conclusive. In the best case, pinning threads to a core / hyperthread, was similar in performance to that of using a full CPU socket affinity; in the worst case, it was degrading performance. The NT scheduler seems to be doing a pretty good job here, so we'll stick with it :-)

Thu, Jan 9, 2:19 PM · Restricted Project, Restricted Project
aganea abandoned D63648: [Preprocessor] Honor absolute paths in diagnostics.
Thu, Jan 9, 2:09 PM · Restricted Project
aganea abandoned D62347: [Support] Modernize process launching API.

Dropping this, I'll just deal with the existing process launching API.

Thu, Jan 9, 2:09 PM · Restricted Project
aganea added a comment to D71786: RFC: [Support] On Windows, add optional support for rpmalloc.

Am I the only one who is a little bit uncomfortable with including a replacement to the system allocator in LLVM? It seems to me that this is something that is clearly under the responsibility of the C library. Now this might still be worth doing given the large performance improvement, but yuck...

Thu, Jan 9, 9:27 AM · Restricted Project
aganea updated the diff for D71786: RFC: [Support] On Windows, add optional support for rpmalloc.
  • Integrated changes as suggested by @russell.gallop - Could you please re-apply the patch on a clean git checkout see if this works?
  • Fixed usage of LLVM_RPMALLOC_PAGESIZE -- it seems attribute((unused)) doesn't always prevent the symbol from being evicted by LLD -- maybe using TLS callbacks is an edge case. I extended the usage of /INCLUDE to Clang, like for MSVC.
  • Fixed enabling large pages in rpmalloc, when they are provided in the 'config' struct. Previously, AdjustTokenPrivileges wasn't called in this case, and that is required for VirtualAlloc(MEM_LARGEPAGES, ...) to work.
Thu, Jan 9, 7:53 AM · Restricted Project
aganea added inline comments to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.
Thu, Jan 9, 5:59 AM · Restricted Project, Restricted Project
aganea updated the diff for D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.
Thu, Jan 9, 5:59 AM · Restricted Project, Restricted Project
aganea updated the diff for D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.

Changes as suggested by @hans.

Thu, Jan 9, 5:50 AM · Restricted Project, Restricted Project
aganea added inline comments to D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.
Thu, Jan 9, 5:50 AM · Restricted Project, Restricted Project

Wed, Jan 8

aganea added a comment to D71786: RFC: [Support] On Windows, add optional support for rpmalloc.

Is rpcmalloc using large pages by default if possible ? I have been toying with using large pages for some of the bump-pointer allocators in clang, namely the allocator of ASTContext and the allocator of Sema, and I am getting a ~5% improvement in parsing speed.

Not by default, but you can use set LLVM_RPMALLOC_PAGESIZE=2M or set LLVM_RPMALLOC_PAGESIZE=1G to enable large pages. However I realize that is broken (crashes), I'll investigate and get back.

Wed, Jan 8, 10:21 AM · Restricted Project
aganea added a comment to D71040: [ThinLTO/WPD] Fix index-based WPD for alias vtables.

I've used this patch since you've published it, on different contexts, things look good from my user perspective.

Wed, Jan 8, 10:21 AM · Restricted Project

Tue, Jan 7

aganea updated the diff for D71786: RFC: [Support] On Windows, add optional support for rpmalloc.
  • Changes as suggested by @rnk
  • Fixed linking remarks-shlib as reported by @russell.gallop
  • Reverted back to default rpmalloc settings (no more unlimited mode), ie. ENABLE_UNLIMITED_CACHE is 0 now.
  • Support rpmalloc's ENABLE_STATISTICS - when enabled, allocation statistics will be printed on process exit.
Tue, Jan 7, 11:22 AM · Restricted Project
aganea committed rG75eacbf1a9fb: Fix issues reported by -Wrange-loop-analysis when building with latest Clang… (authored by aganea).
Fix issues reported by -Wrange-loop-analysis when building with latest Clang…
Tue, Jan 7, 11:02 AM

Fri, Jan 3

aganea committed rGe19188af0a26: [mlir] Compilation fix: use LLVM_ATTRIBUTE_UNUSED following… (authored by aganea).
[mlir] Compilation fix: use LLVM_ATTRIBUTE_UNUSED following…
Fri, Jan 3, 1:32 PM
aganea closed D72124: [mlir] Compilation fix: use LLVM_ATTRIBUTE_UNUSED following 6656e961c08393c3949412ef945ade0272b66fca.
Fri, Jan 3, 1:32 PM · Restricted Project
aganea added a comment to D71975: [Support] Support MF_HUGE_HINT on Linux and FreeBSD.

So I need to:

  • Add a getHugePageSize similar to sys::Process::getPageSize which will do its best to find out about the huge page size(s) on the platform. This needs to be done for Windows too.
Fri, Jan 3, 1:20 PM · Restricted Project

Thu, Jan 2

aganea added a comment to D71786: RFC: [Support] On Windows, add optional support for rpmalloc.

It fails creating a library

Thu, Jan 2, 8:53 PM · Restricted Project
aganea created D72124: [mlir] Compilation fix: use LLVM_ATTRIBUTE_UNUSED following 6656e961c08393c3949412ef945ade0272b66fca.
Thu, Jan 2, 6:44 PM · Restricted Project

Wed, Jan 1

aganea added a comment to D70585: [Support] Fix behavior of StringRef::count with overlapping occurrences, add tests.

Hi! This patch broke the polly tests (the bot seems down). I wrote a fix here: 92b68c1937cd065a2fc44d18c1099de7da19b356 - it was trivial enough, but please let me know if you don't agree with the fix.

Wed, Jan 1, 2:39 PM · Restricted Project
aganea committed rG92b68c1937cd: [polly][Support] Un-break polly tests Previously, the polly unit tests were… (authored by aganea).
[polly][Support] Un-break polly tests Previously, the polly unit tests were…
Wed, Jan 1, 2:30 PM
aganea committed rG6656e961c083: [mlir] Fix compilation warnings (authored by aganea).
[mlir] Fix compilation warnings
Wed, Jan 1, 2:30 PM
aganea committed rG316f6003ef2b: [mlir] Fix linking with LLD (authored by aganea).
[mlir] Fix linking with LLD
Wed, Jan 1, 2:30 PM
aganea committed rG2b223bd1c7d5: [mlir] Fix warnings when compiling with Clang 9.0 (authored by aganea).
[mlir] Fix warnings when compiling with Clang 9.0
Wed, Jan 1, 2:30 PM

Sat, Dec 21

aganea added a comment to D71775: [ThreadPool] On Windows, extend usage to all CPU sockets and all NUMA groups.

Will it make sense to say "I don't want hyper-threads" ?

Not sure I remember correctly, but I believe one motivation behind avoiding "hyper-threads" and other virtual cores was that while they improve slightly the performance, they also increase the peak memory requirements: using heavyweight_hardware_concurrency() seemed like a good default tradeoff for most end-users.

Sat, Dec 21, 8:28 AM · Restricted Project, Restricted Project
aganea added a comment to D71786: RFC: [Support] On Windows, add optional support for rpmalloc.

Note in the bar charts how the 28-core system is faster, when compared to the 36-core. The 28-core does not suffer from the "processor group" issue fixed in D71775, the 28-cores/56-threads all fit in a single "processor group", so they are all available to the application; while the 36-cores/72-threads are projected to the application as two "processor groups", out of which only one is used by default. After D71775, the 36-core is evidently faster.

Sat, Dec 21, 8:01 AM · Restricted Project
aganea added a comment to D71786: RFC: [Support] On Windows, add optional support for rpmalloc.

Thank @amccarth, fixed!

Sat, Dec 21, 7:52 AM · Restricted Project
aganea updated the summary of D71786: RFC: [Support] On Windows, add optional support for rpmalloc.
Sat, Dec 21, 7:52 AM · Restricted Project

Fri, Dec 20

aganea updated the summary of D71775: [ThreadPool] On Windows, extend usage to all CPU sockets and all NUMA groups.
Fri, Dec 20, 2:18 PM · Restricted Project, Restricted Project
aganea created D71786: RFC: [Support] On Windows, add optional support for rpmalloc.
Fri, Dec 20, 2:18 PM · Restricted Project
aganea updated the summary of D71775: [ThreadPool] On Windows, extend usage to all CPU sockets and all NUMA groups.
Fri, Dec 20, 9:29 AM · Restricted Project, Restricted Project
aganea created D71775: [ThreadPool] On Windows, extend usage to all CPU sockets and all NUMA groups.
Fri, Dec 20, 9:20 AM · Restricted Project, Restricted Project

Thu, Dec 19

aganea added inline comments to D71248: [clangd] Introduce paragraph, the first part of new rendering structs.
Thu, Dec 19, 11:53 AM · Restricted Project

Dec 18 2019

aganea added a comment to D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.

I looked over this again, and also studied CrashRecoveryContext some more.

I don't really understand why this patch needs to modify the code for how the CRC is enabled and installed, etc.

I thought all we need for in-process-cc1 is to add the DumpStackAndCleanupOnFailure flag and behavior, nothing more.

Do you think this is possible, or am I missing something?

Dec 18 2019, 6:05 AM · Restricted Project, Restricted Project

Dec 13 2019

aganea added a comment to D71040: [ThinLTO/WPD] Fix index-based WPD for alias vtables.

Strange this assertion probably means, that there are two summaries with external linkage in VTableVI. I tried reproducer out of curiosity, but it worked fine for me (no assertion on stage2 with ninja clang).

Dec 13 2019, 2:41 PM · Restricted Project

Dec 12 2019

aganea added a comment to D71040: [ThinLTO/WPD] Fix index-based WPD for alias vtables.

I was able to successfully create an ThinLTO-built clang.exe with this patch. However when compiling with assertions on, I'm still getting this:

Assertion failed: P.VTableVI.getSummaryList().size() == 1 || llvm::count_if( P.VTableVI.getSummaryList(), [&](const std::unique_ptr<GlobalValueSummary> &Summary) { return GlobalValue::isExternalLinkage(Summary->linkage()); }) <= 1, file D:\llvm-project\llvm\lib\Transforms\IPO\WholeProgramDevirt.cpp, line 852

I simply built a 2-stage clang with the following cmd-line:

stage 1: cmake -GNinja ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_PROJECTS="clang;lld;llvm" -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/LLVM/bin/lld-link.exe" -DLLVM_ENABLE_LLD=true -DLLVM_ENABLE_PDB=ON
Dec 12 2019, 8:22 PM · Restricted Project

Dec 11 2019

aganea added a comment to D70854: [Clang] In tests, do not always assume others permissions are set.

Yes this was added in rG18627115f4d2db5dc73207e0b5312f52536be7dd and rGe08b59f81d950bd5c8b8528fcb3ac4230c7b736c. It looks like it was only there to validate that specific refactoring.
Should I remove these two files, or simply commit the previous diff? (ie. -rw-rw----)

Dec 11 2019, 12:46 PM · Restricted Project, Restricted Project
aganea updated the summary of D70854: [Clang] In tests, do not always assume others permissions are set.
Dec 11 2019, 10:13 AM · Restricted Project, Restricted Project
aganea requested review of D70854: [Clang] In tests, do not always assume others permissions are set.
Dec 11 2019, 10:13 AM · Restricted Project, Restricted Project
aganea updated the diff for D70854: [Clang] In tests, do not always assume others permissions are set.

Ensure the access-rights commands (setfacl and chmod) won't fail the tests if the user doesn't have the appropriate rights to change permissions.
Added llvm/test/Other/umask.ll because it was also failing.

Dec 11 2019, 10:11 AM · Restricted Project, Restricted Project

Dec 9 2019

aganea added inline comments to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.
Dec 9 2019, 7:57 AM · Restricted Project, Restricted Project
aganea updated the diff for D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.

Addressed all comments.
Added CLANG_SPAWN_CC1 cmake flag & environment variable to control whether we want a cc1 process or not. It is disabled by default. I left out the if (APPLE) part in cmake, as suggested by @rnk.

Dec 9 2019, 7:56 AM · Restricted Project, Restricted Project
aganea added inline comments to D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.
Dec 9 2019, 7:38 AM · Restricted Project, Restricted Project
aganea updated the diff for D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.

Addressed comments, and:

  • Removed CrashRecoveryContext::HandleCrash() and #pragma clang handle_crash which wasn't covered by any test and most likely deprecated by #pragma clang crash
  • Added refcounting to CrashRecoveryContext::Enable/Disable as well as lazy installation of the exception handlers in CrashRecoveryContext.
  • Partially reverted rG4624e83ce7b124545b55e45ba13f2d900ed65654/llvm/lib/Support/Unix/Signals.inc to simplify checks for IntSigs (and to fix the issue mentioned here). @vsk

All tests pass on Windows/MSVC2019/Clang9/10 and Linux/Clang9/GCC9.1.

Dec 9 2019, 7:38 AM · Restricted Project, Restricted Project

Dec 5 2019

aganea added a comment to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.

I did this in driver.cpp:

// Whether the cc1 tool should be called inside the current process, or forked
// to a new new process.
bool UseCC1ProcessFork = CLANG_FORK_CC1;
Dec 5 2019, 11:30 AM · Restricted Project, Restricted Project
aganea added 1 auditor(s) for rG9a3f892d0182: [Signal] Allow one-shot SIGPIPE handler to be reached: rnk.

Thanks Vedant! Minor: there's still an unexpected side-effect when InitLLVM is called with InstallPipeSignalExitHandler=false or if sys::SetOneShotPipeSignalFunction is used to clear the default function. In that case, the test will fall through, and will go and call llvm::sys::RunSignalHandlers(). Whereas before it used raise the signal again, and return. What do you think?
I'm wondering if the code shouldn't read more like:

if (llvm::is_contained(IntSigs, Sig) || Sig == SIGPIPE) {
  if (auto OldInterruptFunction = InterruptFunction.exchange(nullptr))
    return OldInterruptFunction();
Dec 5 2019, 6:58 AM

Dec 4 2019

aganea added inline comments to D70277: [Signal] Allow llvm clients to opt into one-shot SIGPIPE handling.
Dec 4 2019, 3:26 PM · Restricted Project, Restricted Project
aganea added inline comments to D69452: [ThinLTO/WPD] Fix index-based WPD for available_externally vtables.
Dec 4 2019, 9:14 AM · Restricted Project
aganea added a comment to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.

@aganea Please disable the new behavior for the Darwin platform. We rely on the fact that Clang -cc1 processes crash to report crashes using system's crash reporting infrastructure.

Dec 4 2019, 7:03 AM · Restricted Project, Restricted Project
aganea updated the diff for D70854: [Clang] In tests, do not always assume others permissions are set.

Just after I hit Submit last night, I found a better way, by disabling ACL for that folder.
Ping @tstellar @Meinersbur in case they have an opinion.
Please let me know which solution you think is better.

Dec 4 2019, 5:57 AM · Restricted Project, Restricted Project

Dec 3 2019

aganea added inline comments to D70854: [Clang] In tests, do not always assume others permissions are set.
Dec 3 2019, 3:14 PM · Restricted Project, Restricted Project
aganea added inline comments to D70854: [Clang] In tests, do not always assume others permissions are set.
Dec 3 2019, 2:55 PM · Restricted Project, Restricted Project
aganea committed rG1cc0ba4cbdc5: [LLDB] Disable MSVC warning C4190: 'LLDBSwigPythonBreakpointCallbackFunction'… (authored by aganea).
[LLDB] Disable MSVC warning C4190: 'LLDBSwigPythonBreakpointCallbackFunction'…
Dec 3 2019, 6:59 AM
aganea closed D70830: [LLDB] Disable MSVC warning C4190.
Dec 3 2019, 6:59 AM · Restricted Project

Dec 2 2019

aganea updated the summary of D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.
Dec 2 2019, 3:25 PM · Restricted Project, Restricted Project
aganea added a comment to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.

You're right indeed Russell, my bad, this gain is not as important as I initially claimed -- however there's a gain.

Dec 2 2019, 3:21 PM · Restricted Project, Restricted Project

Nov 29 2019

aganea updated subscribers of D67463: [MS] Warn when shadowing template parameters under -fms-compatibility.
Nov 29 2019, 2:33 PM · Restricted Project, Restricted Project
aganea added a comment to D67463: [MS] Warn when shadowing template parameters under -fms-compatibility.

You probably already know this, but the behavior between MSVC & Clang is different as to the value of the constant (testcase for PR43265).
See: https://godbolt.org/z/y4uvgp
Clang gives 0, while MSVC gives 5. This incompatibility is a potential source of failure, one of our tests broke because of that.

Nov 29 2019, 2:33 PM · Restricted Project, Restricted Project
aganea committed rG3b0b7536a318: On Windows, fix fuse-ld.c test when lld is provided explictly in -DCMAKE_LINKER (authored by aganea).
On Windows, fix fuse-ld.c test when lld is provided explictly in -DCMAKE_LINKER
Nov 29 2019, 8:29 AM
aganea committed rG471d06020a6a: [CIndex] Fix annotate-deep-statements test when using a Debug build (authored by aganea).
[CIndex] Fix annotate-deep-statements test when using a Debug build
Nov 29 2019, 7:53 AM
aganea closed D70149: [C-index] Fix annotate-deep-statements test in Debug target.
Nov 29 2019, 7:53 AM · Restricted Project
aganea created D70854: [Clang] In tests, do not always assume others permissions are set.
Nov 29 2019, 6:38 AM · Restricted Project, Restricted Project
aganea retitled D70854: [Clang] In tests, do not always assume others permissions are set from [Clang] Do not always assume others permissions are set to [Clang] In tests, do not always assume others permissions are set.
Nov 29 2019, 6:38 AM · Restricted Project, Restricted Project
aganea added a comment to D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.

Thanks for analyzing this!

Nov 29 2019, 6:03 AM · Restricted Project, Restricted Project

Nov 28 2019

aganea committed rG1abd4c94d757: [Clang] Bypass distro detection on non-Linux hosts (authored by aganea).
[Clang] Bypass distro detection on non-Linux hosts
Nov 28 2019, 2:08 PM
aganea closed D70467: [Distro] Bypass distro detection on non-Linux hosts.
Nov 28 2019, 2:08 PM · Restricted Project
aganea committed rGbdad3ec75ab3: [LLDB] On Windows, force error message formatting to English (authored by aganea).
[LLDB] On Windows, force error message formatting to English
Nov 28 2019, 11:24 AM
aganea closed D70442: [LLDB] Force message formatting to English.
Nov 28 2019, 11:24 AM · Restricted Project
aganea committed rGb4dfc5508f92: [LLDB] Fix wrong argument in CommandObjectThreadStepWithTypeAndScope (authored by aganea).
[LLDB] Fix wrong argument in CommandObjectThreadStepWithTypeAndScope
Nov 28 2019, 11:01 AM
aganea closed D70448: [LLDB] Fix wrong argument in CommandObjectThreadStepWithTypeAndScope.
Nov 28 2019, 11:01 AM · Restricted Project
aganea updated the diff for D70830: [LLDB] Disable MSVC warning C4190.
Nov 28 2019, 11:01 AM · Restricted Project
aganea created D70830: [LLDB] Disable MSVC warning C4190.
Nov 28 2019, 9:28 AM · Restricted Project

Nov 26 2019

aganea added a comment to D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.

Do I understand correctly that the main point is to get a stack trace when CrashRecoveryContext::RunSafely() fails, instead of just returning an error?

Nov 26 2019, 10:21 AM · Restricted Project, Restricted Project
aganea added a comment to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.

It looks like the git apply didn't work, but the script continued so this was a duff experiment, please ignore. I'll try to fix this and run it again.

Nov 26 2019, 9:35 AM · Restricted Project, Restricted Project

Nov 25 2019

aganea added a comment to D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.

Thanks for the feedback Russell!

Nov 25 2019, 8:55 AM · Restricted Project, Restricted Project
aganea updated the summary of D69825: [Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation.
Nov 25 2019, 8:55 AM · Restricted Project, Restricted Project

Nov 21 2019

aganea updated the summary of D70568: [Support] Possibly use exception handler in the Crash Recovery Context in the same way as global exceptions.
Nov 21 2019, 2:03 PM · Restricted Project, Restricted Project