<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/test/CodeGenCXX, 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-04-13T17:34:45+00:00</updated>
<entry>
<title>Use FinishThunk to finish musttail thunks</title>
<updated>2020-04-13T17:34:45+00:00</updated>
<author>
<name>Reid Kleckner</name>
<email>rnk@google.com</email>
</author>
<published>2020-03-19T18:52:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=68cd4f72beae67a9bdbc11c85fd745dec8fc0999'/>
<id>urn:sha1:68cd4f72beae67a9bdbc11c85fd745dec8fc0999</id>
<content type='text'>
FinishThunk, and the invariant of setting and then unsetting
CurCodeDecl, was added in 7f416cc42638 (2015). The invariant didn't
exist when I added this musttail codepath in ab2090d10765 (2014).
Recently in 28328c3771, I started using this codepath on non-Windows
platforms, and users reported problems during release testing (PR44987).

The issue was already present for users of EH on i686-windows-msvc, so I
added a test for that case as well.

Reviewed By: hans

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

(cherry picked from commit ce5173c0e174870934d1b3a026f631d996136191)
</content>
</entry>
<entry>
<title>Fix wrong devirtualization when the final overrider in one base class</title>
<updated>2020-02-01T01:07:04+00:00</updated>
<author>
<name>Richard Smith</name>
<email>richard@metafoo.co.uk</email>
</author>
<published>2020-02-01T01:05:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f85d63a558364dcf57efe7b37b3e99b7fd91fd5c'/>
<id>urn:sha1:f85d63a558364dcf57efe7b37b3e99b7fd91fd5c</id>
<content type='text'>
overrides the final overrider in a different base class.

(cherry picked from commit aade5fbbfef3e8555df202082bea905deebc2ca5)
</content>
</entry>
<entry>
<title>[Concepts] Deprecate -fconcepts-ts, enable Concepts under -std=c++2a</title>
<updated>2020-01-24T00:28:33+00:00</updated>
<author>
<name>Saar Raz</name>
<email>saar@raz.email</email>
</author>
<published>2020-01-23T22:43:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2ec65e229314d468006998eaef7074b86ef7482d'/>
<id>urn:sha1:2ec65e229314d468006998eaef7074b86ef7482d</id>
<content type='text'>
Now with concepts support merged and mostly complete, we do not need -fconcepts-ts
(which was also misleading as we were not implementing the TS) and can enable
concepts features under C++2a. A warning will be generated if users still attempt
to use -fconcepts-ts.

(cherry picked from commit 67c608a9695496cfc9d3fdf9d0b12b554ac6b4df)
</content>
</entry>
<entry>
<title>[DebugInfo] Add option to clang to limit debug info that is emitted for classes.</title>
<updated>2020-01-14T20:40:21+00:00</updated>
<author>
<name>Amy Huang</name>
<email>akhuang@google.com</email>
</author>
<published>2020-01-04T00:28:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=651128f557229e79598e22102edb7fad3bf288c0'/>
<id>urn:sha1:651128f557229e79598e22102edb7fad3bf288c0</id>
<content type='text'>
Summary:
This patch adds an option to limit debug info by only emitting complete class
type information when its constructor is emitted. This applies to classes
that have nontrivial user defined constructors.

I implemented the option by adding another level to `DebugInfoKind`, and
a flag `-flimit-debug-info-constructor`.

Total object file size on Windows, compiling with RelWithDebInfo:
  before: 4,257,448 kb
  after:  2,104,963 kb

And on Linux
  before: 9,225,140 kb
  after:  4,387,464 kb

According to the Windows clang.pdb files, here is a list of types that are no
longer complete with this option enabled: https://reviews.llvm.org/P8182

Reviewers: rnk, dblaikie

Subscribers: aprantl, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D72427
</content>
</entry>
<entry>
<title>[ItaniumCXXABI] Make tls wrappers properly comdat</title>
<updated>2020-01-13T21:36:26+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2019-12-16T22:20:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=810b28edb3f64569054d49d6ddf18a4d802d9b11'/>
<id>urn:sha1:810b28edb3f64569054d49d6ddf18a4d802d9b11</id>
<content type='text'>
Just marking a symbol as weak_odr/linkonce_odr isn't enough for
actually tolerating multiple copies of it at linking on windows,
it has to be made a proper comdat; make it comdat for all platforms
for consistency.

This should hopefully fix
https://bugzilla.mozilla.org/show_bug.cgi?id=1566288.

Differential Revision: https://reviews.llvm.org/D71572
</content>
</entry>
<entry>
<title>Implement VectorType conditional operator GNU extension.</title>
<updated>2020-01-13T21:27:20+00:00</updated>
<author>
<name>Erich Keane</name>
<email>erich.keane@intel.com</email>
</author>
<published>2019-12-05T14:17:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=349636d2bfc39a5c81a835a95d203a42d9f9301a'/>
<id>urn:sha1:349636d2bfc39a5c81a835a95d203a42d9f9301a</id>
<content type='text'>
GCC supports the conditional operator on VectorTypes that acts as a
'select' in C++ mode. This patch implements the support. Types are
converted as closely to GCC's behavior as possible, though in a few
places consistency with our existing vector type support was preferred.

Note that this implementation is different from the OpenCL version in a
number of ways, so it unfortunately required a different implementation.

First, the SEMA rules and promotion rules are significantly different.

Secondly, GCC implements COND[i] != 0 ? LHS[i] : RHS[i] (where i is in
the range 0- VectorSize, for each element).  In OpenCL, the condition is
COND[i] &lt; 0 ? LHS[i]: RHS[i].

In the process of implementing this, it was also required to make the
expression COND ? LHS : RHS type dependent if COND is type dependent,
since the type is now dependent on the condition.  For example:

    T ? 1 : 2;

Is not typically type dependent, since the result can be deduced from
the operands.  HOWEVER, if T is a VectorType now, it could change this
to a 'select' (basically a swizzle with a non-constant mask) with the 1
and 2 being promoted to vectors themselves.

While this is a change, it is NOT a standards incompatible change. Based
on my (and D. Gregor's, at the time of writing the code) reading of the
standard, the expression is supposed to be type dependent if ANY
sub-expression is type dependent.

Differential Revision: https://reviews.llvm.org/D71463
</content>
</entry>
<entry>
<title>Revert "[DWARF5][clang]: Added support for DebugInfo generation for auto return type for C++ member functions."</title>
<updated>2020-01-13T10:13:16+00:00</updated>
<author>
<name>Sam McCall</name>
<email>sam.mccall@gmail.com</email>
</author>
<published>2020-01-13T10:12:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e45fcfc3aa57bb237fd4fd694d0c257be66d5482'/>
<id>urn:sha1:e45fcfc3aa57bb237fd4fd694d0c257be66d5482</id>
<content type='text'>
This reverts commit 6d6a4590c5d4c7fc7445d72fe685f966b0a8cafb, which
introduces a crash.

See https://reviews.llvm.org/D70524 for details.
</content>
</entry>
<entry>
<title>[DWARF5][clang]: Added support for DebugInfo generation for auto return type for C++ member functions.</title>
<updated>2020-01-13T07:10:18+00:00</updated>
<author>
<name>Awanish Pandey</name>
<email>Awanish.Pandey@amd.com</email>
</author>
<published>2020-01-13T07:08:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=6d6a4590c5d4c7fc7445d72fe685f966b0a8cafb'/>
<id>urn:sha1:6d6a4590c5d4c7fc7445d72fe685f966b0a8cafb</id>
<content type='text'>
Summary:
This patch will provide support for auto return type for the C++ member
functions.

This patch includes clang side implementation of this feature.

Patch by: Awanish Pandey &lt;Awanish.Pandey@amd.com&gt;

Reviewers: dblaikie, aprantl, shafik, alok, SouraVX, jini.susan.george
Reviewed by: dblaikie

Differential Revision: https://reviews.llvm.org/D70524
</content>
</entry>
<entry>
<title>Add support for __declspec(guard(nocf))</title>
<updated>2020-01-10T16:04:12+00:00</updated>
<author>
<name>Andrew Paverd</name>
<email>andrew.paverd@microsoft.com</email>
</author>
<published>2020-01-10T11:08:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=bdd88b7ed3956534a0a71b1ea2bc88c69d48f9b7'/>
<id>urn:sha1:bdd88b7ed3956534a0a71b1ea2bc88c69d48f9b7</id>
<content type='text'>
Summary:
Avoid using the `nocf_check` attribute with Control Flow Guard. Instead, use a
new `"guard_nocf"` function attribute to indicate that checks should not be
added on indirect calls within that function. Add support for
`__declspec(guard(nocf))` following the same syntax as MSVC.

Reviewers: rnk, dmajor, pcc, hans, aaron.ballman

Reviewed By: aaron.ballman

Subscribers: aaron.ballman, tomrittervg, hiraditya, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D72167
</content>
</entry>
<entry>
<title>[ItaniumCXXABI] Don't mark an extern_weak init function as dso_local on windows</title>
<updated>2019-12-23T10:13:48+00:00</updated>
<author>
<name>Martin Storsjö</name>
<email>martin@martin.st</email>
</author>
<published>2019-12-19T11:57:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=86c9831bb40d2c50c36b748b08a75860c4640875'/>
<id>urn:sha1:86c9831bb40d2c50c36b748b08a75860c4640875</id>
<content type='text'>
Since 6bf108d77a3c, we try to not mark extern_weak symbols as
dso_local, to allow using COFF stubs for references to those symbols
(as the symbol may be missing, resolving to an absolute address zero,
outside of the current DSO).

Differential Revision: https://reviews.llvm.org/D71716
</content>
</entry>
</feed>
