Commit Graph

17 Commits

Author SHA1 Message Date
Rafael Espindola 0e355701be Bring r325915 back.
The tests that failed on a windows host have been fixed.

Original message:

Start setting dso_local for COFF.

With this there are still some GVs where we don't set dso_local
because setGVProperties is never called. I intend to fix that in
followup commits. This is just the bare minimum to teach
shouldAssumeDSOLocal what it should do for COFF.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@325940 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-23 19:30:48 +00:00
Piotr Padlewski 0578a8eedc [Devirtualization] Decorate vfunction load with invariant.load
Summary:
This patch was introduced one year ago, but because my google account
was disabled, I didn't get email with failing buildbot and I missed
revert of this commit. There was small but in test regex.
I am back.

Reviewers: rsmith, rengolin

Subscribers: nlewycky, rjmccall, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285497 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-29 15:28:30 +00:00
Renato Golin 8567fd2fe8 Revert "Decorating virtual functions load with invariant.load" and fix
This reverts commit r248982 as it was breaking the ARM buildbots and the fix didn't work.
This reverts commit r248984, the fix that didn't work.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@249005 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-01 12:58:41 +00:00
Piotr Padlewski 7585288756 Test fix
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248984 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-01 04:19:45 +00:00
Piotr Padlewski 7471e95be8 Decorating virtual functions load with invariant.load
http://reviews.llvm.org/D13279

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248982 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-01 03:50:41 +00:00
Hans Wennborg 11b1b8ab36 Remove the -cxx-abi command-line flag.
This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples,
Itanium otherwise. It's no longer possible to do weird combinations.

To be able to run a test with a specific ABI without constraining it to a
specific triple, new substitutions are added to lit: %itanium_abi_triple and
%ms_abi_triple can be used to get the current target triple adjusted to the
desired ABI. For example, if the test suite is running with the i686-pc-win32
target, %itanium_abi_triple will expand to i686-pc-mingw32.

Differential Revision: http://llvm-reviews.chandlerc.com/D2545

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199250 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-14 19:35:09 +00:00
Hans Wennborg 191e9e3d71 Prepare for using MS ABI by default for Win32: update CodeGenCXX tests
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197281 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-13 22:43:52 +00:00
Rafael Espindola bafcbe836c Switch to the new MingW ABI.
GCC 4.7 changed the MingW ABI. On the clang side this means that methods now
have the thiscall calling convention by default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197164 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-12 16:07:11 +00:00
Richard Smith 3c5cd15da5 Don't emit calls to virtual [[noreturn]] functions as noreturn; overrides of a
[[noreturn]] function are not required to also be [[noreturn]]. We still emit
calls to virtual __attribute__((noreturn)) functions as noreturn; unlike GCC,
we do require overriders to also be noreturn for that attribute.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176476 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-05 08:30:04 +00:00
Anders Carlsson c1eec891eb Fix a refacto that broke the clang-on-clang build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95994 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12 18:14:46 +00:00
Anders Carlsson 29f1a6070a Correctly initialize the PrimaryBaseInfo if a base is null. Fixes PR5832.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91748 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19 02:13:41 +00:00
Daniel Dunbar a5728872c7 Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
- This is designed to make it obvious that %clang_cc1 is a "test variable"
   which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
   can be useful to redefine what gets run as 'clang -cc1' (for example, to set
   a default target).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 20:14:24 +00:00
Anders Carlsson 5db02476f6 Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 20:06:34 +00:00
Anders Carlsson 8e7670de19 Factor out devirtualization checking into a separate function and make it handle references correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83880 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 19:41:04 +00:00
Anders Carlsson 3b89f3fa61 If the base type of a member call is a record type we don't need to emit a virtual call.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83816 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-11 23:55:52 +00:00
Anders Carlsson 65705d1d76 Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83398 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06 18:12:12 +00:00
Anders Carlsson b299d3516d Pass the right type to GetAddrOfFunction when getting functions for the VTable. Fixes PR5021.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83395 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06 17:54:23 +00:00