<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/tools/driver, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-03-13T12:44:42+00:00</updated>
<entry>
<title>[Clang][Driver] In -fintegrated-cc1 mode, avoid crashing on exit after a compiler crash</title>
<updated>2020-03-13T12:44:42+00:00</updated>
<author>
<name>Alexandre Ganea</name>
<email>alexandre.ganea@ubisoft.com</email>
</author>
<published>2020-03-13T12:15:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=92f7aebe2d7e03d7d04b4d2f978482268b63aa7f'/>
<id>urn:sha1:92f7aebe2d7e03d7d04b4d2f978482268b63aa7f</id>
<content type='text'>
After a crash catched by the CrashRecoveryContext, this patch prevents from accessing dangling pointers in TimerGroup structures before the clang tool exits. Previously, the default TimerGroup had internal linked lists which were still pointing to old Timer or TimerGroup instances, which lived in stack frames released by the CrashRecoveryContext.

Fixes PR45164.

Differential Revision: https://reviews.llvm.org/D76099

(cherry picked from commit 28ad9fc20823678881baa0d723834b88ea9e8e3a)
</content>
</entry>
<entry>
<title>[Clang][Driver] After default -fintegrated-cc1, make llvm::report_fatal_error() generate preprocessed source + reproducer.sh again.</title>
<updated>2020-02-12T09:22:21+00:00</updated>
<author>
<name>Alexandre Ganea</name>
<email>alexandre.ganea@ubisoft.com</email>
</author>
<published>2020-02-11T15:17:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fd04cb43e1d83c6f18c932de94c1e341272ed160'/>
<id>urn:sha1:fd04cb43e1d83c6f18c932de94c1e341272ed160</id>
<content type='text'>
Added a test for #pragma clang __debug llvm_fatal_error to test for the original issue.
Added llvm::sys::Process::Exit() and replaced ::exit() in places where it was appropriate. This new function would call the current CrashRecoveryContext if one is running on the same thread; or call ::exit() otherwise.

Fixes PR44705.

Differential Revision: https://reviews.llvm.org/D73742

(cherry picked from commit faace365088a2a3a4cb1050a9facfc34a7a56577)
</content>
</entry>
<entry>
<title>Clang] Fix expansion of response files in -Wp after integrated-cc1 change</title>
<updated>2020-01-23T17:17:22+00:00</updated>
<author>
<name>Alexandre Ganea</name>
<email>alexandre.ganea@ubisoft.com</email>
</author>
<published>2020-01-22T21:53:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=85ee70e86456e3bcb3c706c404db497c5a448602'/>
<id>urn:sha1:85ee70e86456e3bcb3c706c404db497c5a448602</id>
<content type='text'>
After rGb4a99a061f517e60985667e39519f60186cbb469, passing a response file such as -Wp,@a.rsp wasn't working anymore because .rsp expansion happens inside clang's main() function.

This patch adds response file expansion in the -cc1 tool.

Differential Revision: https://reviews.llvm.org/D73120

(cherry picked from commit 68d7f06092e56b17eb0cddf560a9d9fe8afb7dd8)
</content>
</entry>
<entry>
<title>Replace CLANG_SPAWN_CC1 env var with a driver mode flag</title>
<updated>2020-01-16T11:54:53+00:00</updated>
<author>
<name>Nico Weber</name>
<email>thakis@chromium.org</email>
</author>
<published>2020-01-15T15:45:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c4a134a5107c1926262ee887057036ca53aa7265'/>
<id>urn:sha1:c4a134a5107c1926262ee887057036ca53aa7265</id>
<content type='text'>
Flags are clang's default UI is flags.

We can have an env var in addition to that, but in D69825 nobody has yet
mentioned why this needs an env var, so omit it for now.  If someone
needs to set the flag via env var, the existing CCC_OVERRIDE_OPTIONS
mechanism works for it (set CCC_OVERRIDE_OPTIONS=+-fno-integrated-cc1
for example).

Also mention the cc1-in-process change in the release notes.

Also spruce up the test a bit so it actually tests something :)

Differential Revision: https://reviews.llvm.org/D72769

(cherry picked from commit 8e5018e990b701391e6c33ba85b012343df67272)
</content>
</entry>
<entry>
<title>[Clang][Driver] Re-use the calling process instead of creating a new process for the cc1 invocation</title>
<updated>2020-01-13T15:40:18+00:00</updated>
<author>
<name>Alexandre Ganea</name>
<email>alexandre.ganea@ubisoft.com</email>
</author>
<published>2020-01-13T15:40:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b4a99a061f517e60985667e39519f60186cbb469'/>
<id>urn:sha1:b4a99a061f517e60985667e39519f60186cbb469</id>
<content type='text'>
With this patch, the clang tool will now call the -cc1 invocation directly inside the same process. Previously, the -cc1 invocation was creating, and waiting for, a new process.
This patch therefore reduces the number of created processes during a build, thus it reduces build times on platforms where process creation can be costly (Windows) and/or impacted by a antivirus.
It also makes debugging a bit easier, as there's no need to attach to the secondary -cc1 process anymore, breakpoints will be hit inside the same process.

Crashes or signaling inside the -cc1 invocation will have the same side-effect as before, and will be reported through the same means.

This behavior can be controlled at compile-time through the CLANG_SPAWN_CC1 cmake flag, which defaults to OFF. Setting it to ON will revert to the previous behavior, where any -cc1 invocation will create/fork a secondary process.
At run-time, it is also possible to tweak the CLANG_SPAWN_CC1 environment variable. Setting it and will override the compile-time setting. A value of 0 calls -cc1 inside the calling process; a value of 1 will create a secondary process, as before.

Differential Revision: https://reviews.llvm.org/D69825
</content>
</entry>
<entry>
<title>Generalize the pass registration mechanism used by Polly to any third-party tool</title>
<updated>2020-01-02T15:45:31+00:00</updated>
<author>
<name>serge_sans_paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2019-06-08T15:37:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=24ab9b537e61b3fe5e6a1019492ff6530d82a3ee'/>
<id>urn:sha1:24ab9b537e61b3fe5e6a1019492ff6530d82a3ee</id>
<content type='text'>
There's quite a lot of references to Polly in the LLVM CMake codebase. However
the registration pattern used by Polly could be useful to other external
projects: thanks to that mechanism it would be possible to develop LLVM
extension without touching the LLVM code base.

This patch has two effects:

1. Remove all code specific to Polly in the llvm/clang codebase, replaicing it
   with a generic mechanism

2. Provide a generic mechanism to register compiler extensions.

A compiler extension is similar to a pass plugin, with the notable difference
that the compiler extension can be configured to be built dynamically (like
plugins) or statically (like regular passes).

As a result, people willing to add extra passes to clang/opt can do it using a
separate code repo, but still have their pass be linked in clang/opt as built-in
passes.

Differential Revision: https://reviews.llvm.org/D61446
</content>
</entry>
<entry>
<title>[Support] Add TimeTraceScope constructor without detail arg</title>
<updated>2019-12-11T14:32:21+00:00</updated>
<author>
<name>Russell Gallop</name>
<email>russell.gallop@sony.com</email>
</author>
<published>2019-12-11T11:49:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=df494f7512b0ecebdf3d7be97695a1b6278c0336'/>
<id>urn:sha1:df494f7512b0ecebdf3d7be97695a1b6278c0336</id>
<content type='text'>
This simplifies code where no extra details are required
Also don't write out detail when it is empty.

Differential Revision: https://reviews.llvm.org/D71347
</content>
</entry>
<entry>
<title>[Support] Add ProcName to TimeTraceProfiler</title>
<updated>2019-12-03T13:04:27+00:00</updated>
<author>
<name>Russell Gallop</name>
<email>russell.gallop@sony.com</email>
</author>
<published>2019-12-02T13:10:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=aedeab7f85caaa0946152e5d73e37455267019bb'/>
<id>urn:sha1:aedeab7f85caaa0946152e5d73e37455267019bb</id>
<content type='text'>
This was hard-coded to "clang". This change allows it to to be used on
processes other than clang (such as lld).

This gets reported as clang-10 on Linux and clang.exe on Windows so
adapted test to accommodate this.

Differential Revision: https://reviews.llvm.org/D70950
</content>
</entry>
<entry>
<title>[NFC] Add SUPPORT_PLUGINS to add_llvm_executable()</title>
<updated>2019-11-06T19:32:35+00:00</updated>
<author>
<name>David Tenty</name>
<email>daltenty@ibm.com</email>
</author>
<published>2019-11-06T18:05:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6740a88dc18d0be14926a5e709bd5062e31ee81c'/>
<id>urn:sha1:6740a88dc18d0be14926a5e709bd5062e31ee81c</id>
<content type='text'>
Summary:
this allows us to move logic about when it is appropriate set
LLVM_NO_DEAD_STRIP out of each tool and into add_llvm_executable,
which will enable future platform specific handling.

This is a follow on to the reverted D69356

Reviewers: hubert.reinterpretcast, beanz, lhames

Reviewed By: beanz

Subscribers: mgorny, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D69638
</content>
</entry>
<entry>
<title>Revert "[NFC] Rename LLVM_NO_DEAD_STRIP"</title>
<updated>2019-10-30T18:56:20+00:00</updated>
<author>
<name>David Tenty</name>
<email>daltenty@ibm.com</email>
</author>
<published>2019-10-30T18:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=23df0c783c7053ddcdf665ebc8ddda350abd5bf2'/>
<id>urn:sha1:23df0c783c7053ddcdf665ebc8ddda350abd5bf2</id>
<content type='text'>
This reverts commit 11c2a85db8849db1a5907e80d9966592248ef825.
</content>
</entry>
</feed>
