History log of /llvm-project-15.0.7/clang/lib/CodeGen/CodeGenModule.cpp (Results 676 – 700 of 1864)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 5179eb78 28-Jun-2016 Richard Smith <[email protected]>

P0136R1, DR1573, DR1645, DR1715, DR1736, DR1903, DR1941, DR1959, DR1991:

Replace inheriting constructors implementation with new approach, voted into
C++ last year as a DR against C++11.

Instead of

P0136R1, DR1573, DR1645, DR1715, DR1736, DR1903, DR1941, DR1959, DR1991:

Replace inheriting constructors implementation with new approach, voted into
C++ last year as a DR against C++11.

Instead of synthesizing a set of derived class constructors for each inherited
base class constructor, we make the constructors of the base class visible to
constructor lookup in the derived class, using the normal rules for
using-declarations.

For constructors, UsingShadowDecl now has a ConstructorUsingShadowDecl derived
class that tracks the requisite additional information. We create shadow
constructors (not found by name lookup) in the derived class to model the
actual initialization, and have a new expression node,
CXXInheritedCtorInitExpr, to model the initialization of a base class from such
a constructor. (This initialization is special because it performs real perfect
forwarding of arguments.)

In cases where argument forwarding is not possible (for inalloca calls,
variadic calls, and calls with callee parameter cleanup), the shadow inheriting
constructor is not emitted and instead we directly emit the initialization code
into the caller of the inherited constructor.

Note that this new model is not perfectly compatible with the old model in some
corner cases. In particular:
* if B inherits a private constructor from A, and C uses that constructor to
construct a B, then we previously required that A befriends B and B
befriends C, but the new rules require A to befriend C directly, and
* if a derived class has its own constructors (and so its implicit default
constructor is suppressed), it may still inherit a default constructor from
a base class

llvm-svn: 274049

show more ...


# 62f19e70 25-Jun-2016 Richard Smith <[email protected]>

Implement C++17 P0386R2, inline variables. (The 'inline' specifier gives a
variable weak discardable linkage and partially-ordered initialization, and is
implied for constexpr static data members.)

Implement C++17 P0386R2, inline variables. (The 'inline' specifier gives a
variable weak discardable linkage and partially-ordered initialization, and is
implied for constexpr static data members.)

llvm-svn: 273754

show more ...


# 8dd14da0 24-Jun-2016 Peter Collingbourne <[email protected]>

CodeGen: Update Clang to use the new type metadata.

Differential Revision: http://reviews.llvm.org/D21054

llvm-svn: 273730


# c9d336e5 23-Jun-2016 Rafael Espindola <[email protected]>

Restructure the propagation of -fPIC/-fPIE.

The PIC and PIE levels are not independent. In fact, if PIE is defined
it is always the same as PIC.

This is clear in the driver where ParsePICArgs retur

Restructure the propagation of -fPIC/-fPIE.

The PIC and PIE levels are not independent. In fact, if PIE is defined
it is always the same as PIC.

This is clear in the driver where ParsePICArgs returns a PIC level and
a IsPIE boolean. Unfortunately that is currently lost and we pass two
redundant levels down the pipeline.

This patch keeps a bool and a PIC level all the way down to codegen.

llvm-svn: 273566

show more ...


# 351acd71 20-Jun-2016 Easwaran Raman <[email protected]>

Remove MaxFunctionCount module flag annotation.

Differential revision: http://reviews.llvm.org/D19184

llvm-svn: 273198


# bcf909d7 14-Jun-2016 Peter Collingbourne <[email protected]>

Update clang for D20348

Differential Revision: http://reviews.llvm.org/D20339

llvm-svn: 272710


Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1
# 49766342 01-Jun-2016 Saleem Abdulrasool <[email protected]>

CodeGen: tweak CFString emission for COFF targets

The `isa' member was previously not given the correct DLL Storage. Ensure that
we give the `isa' constant `__CFConstantStringClassReference' the co

CodeGen: tweak CFString emission for COFF targets

The `isa' member was previously not given the correct DLL Storage. Ensure that
we give the `isa' constant `__CFConstantStringClassReference' the correct DLL
storage. Default to dllimport unless an explicit specification gives it a
dllexport storage.

llvm-svn: 271361

show more ...


# 6dd78e49 30-May-2016 Saleem Abdulrasool <[email protected]>

CodeGen: address post-commit review comments

David Majnemer pointed out that isOSBinFormatMachO is more compact. NFC.

llvm-svn: 271221


# f7444e64 30-May-2016 Saleem Abdulrasool <[email protected]>

CodeGen: tweak CFConstantStrings for COFF and ELF

Adjust the constant CFString emission to emit into more appropriate sections on
ELF and COFF targets. It would previously try to use MachO section

CodeGen: tweak CFConstantStrings for COFF and ELF

Adjust the constant CFString emission to emit into more appropriate sections on
ELF and COFF targets. It would previously try to use MachO section names
irrespective of the file format.

llvm-svn: 271211

show more ...


# 2c323a0e 19-May-2016 Artem Belevich <[email protected]>

Check for nullptr argument.

Addresses static analysis report in PR15492.

Differential Revision: http://reviews.llvm.org/D20141

llvm-svn: 270086


# fa2d5955 19-May-2016 Vedant Kumar <[email protected]>

Reapply^3 "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC"

Sync up with "(llvm) Use Error in InstrProf and Coverage".

llvm-svn: 270021


# da9513fc 16-May-2016 Vedant Kumar <[email protected]>

Revert "Reapply^2 "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC""

This reverts commit r269695. The llvm commit does not pass the MSVC bot.

llvm-svn: 269701


# 3354e2c5 16-May-2016 Vedant Kumar <[email protected]>

Reapply^2 "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC"

Sync up with "(llvm) Use Error in InstrProf and Coverage".

Differential Revision: http://reviews.llvm.org/D19902

llvm-svn

Reapply^2 "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC"

Sync up with "(llvm) Use Error in InstrProf and Coverage".

Differential Revision: http://reviews.llvm.org/D19902

llvm-svn: 269695

show more ...


# 1b766d09 14-May-2016 Chandler Carruth <[email protected]>

Revert "Reapply "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC""

This reverts commit r269492 as the corresponding LLVM commit was
reverted due to lots of warnings. See the review th

Revert "Reapply "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC""

This reverts commit r269492 as the corresponding LLVM commit was
reverted due to lots of warnings. See the review thread for the original
LLVM commit (r269491) for details.

llvm-svn: 269549

show more ...


# 0b7b7ae8 13-May-2016 Vedant Kumar <[email protected]>

Reapply "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC"

Sync up with "(llvm) Use Error in InstrProf and Coverage".

Differential Revision: http://reviews.llvm.org/D19902

llvm-svn:

Reapply "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC"

Sync up with "(llvm) Use Error in InstrProf and Coverage".

Differential Revision: http://reviews.llvm.org/D19902

llvm-svn: 269492

show more ...


# 2d87639c 13-May-2016 Vedant Kumar <[email protected]>

Revert "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC"

This reverts commit r269463. It fails two llvm-profdata tests.

llvm-svn: 269468


# 31af1fd1 13-May-2016 Vedant Kumar <[email protected]>

[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC

Sync up with "(llvm) Use Error in InstrProf and Coverage".

llvm-svn: 269463


# 70e70e6e 28-Apr-2016 Sriraman Tallam <[email protected]>

Differential Revision: http://reviews.llvm.org/D19687

Set module flag PIELevel. Simplify code that sets PICLevel flag.

llvm-svn: 267948


# 3afb2668 28-Apr-2016 Peter Collingbourne <[email protected]>

Re-apply r267784, r267824 and r267830.

I have updated the compiler-rt tests.

llvm-svn: 267903


# 5556a5cf 28-Apr-2016 Benjamin Kramer <[email protected]>

Revert r267784, r267824 and r267830.

It makes compiler-rt tests fail if the gold plugin is enabled.

Revert "Rework interface for bitset-using features to use a notion of LTO visibility."
Revert "Dr

Revert r267784, r267824 and r267830.

It makes compiler-rt tests fail if the gold plugin is enabled.

Revert "Rework interface for bitset-using features to use a notion of LTO visibility."
Revert "Driver: only produce CFI -fvisibility= error when compiling."
Revert "clang/test/CodeGenCXX/cfi-blacklist.cpp: Exclude ms targets. They would be non-cfi."

llvm-svn: 267871

show more ...


# a8b2f7c0 27-Apr-2016 Peter Collingbourne <[email protected]>

Rework interface for bitset-using features to use a notion of LTO visibility.

Bitsets, and the compiler features they rely on (vtable opt, CFI),
only have visibility within the LTO'd part of the lin

Rework interface for bitset-using features to use a notion of LTO visibility.

Bitsets, and the compiler features they rely on (vtable opt, CFI),
only have visibility within the LTO'd part of the linkage unit. Therefore,
only enable these features for classes with hidden LTO visibility. This
notion is based on object file visibility or (on Windows)
dllimport/dllexport attributes.

We provide the [[clang::lto_visibility_public]] attribute to override the
compiler's LTO visibility inference in cases where the class is defined
in the non-LTO'd part of the linkage unit, or where the ABI supports
calling classes derived from abstract base classes with hidden visibility
in other linkage units (e.g. COM on Windows).

If the cross-DSO CFI mode is enabled, bitset checks are emitted even for
classes with public LTO visibility, as that mode uses a separate mechanism
to cause bitsets to be exported.

This mechanism replaces the whole-program-vtables blacklist, so remove the
-fwhole-program-vtables-blacklist flag.

Because __declspec(uuid()) now implies [[clang::lto_visibility_public]], the
support for the special attr:uuid blacklist entry is removed.

Differential Revision: http://reviews.llvm.org/D18635

llvm-svn: 267784

show more ...


# 9305fd1f 13-Apr-2016 Reid Kleckner <[email protected]>

[CodeGen] Avoid ctor/dtor boilerplate with some C++11

Non-owning pointers that cache LLVM types and constants can use
'nullptr' default member initializers so that we don't need to mention
them in t

[CodeGen] Avoid ctor/dtor boilerplate with some C++11

Non-owning pointers that cache LLVM types and constants can use
'nullptr' default member initializers so that we don't need to mention
them in the constructor initializer list.

Owning pointers should use std::unique_ptr so that we don't need to
manually delete them in the destructor. They also don't need to be
mentioned in the constructor at that point.

NFC

llvm-svn: 266263

show more ...


# 85eda12d 11-Apr-2016 Dmitry Polukhin <[email protected]>

[GCC] Attribute ifunc support in clang

This patch add support for GCC attribute((ifunc("resolver"))) for
targets that use ELF as object file format. In general ifunc is a
special kind of function al

[GCC] Attribute ifunc support in clang

This patch add support for GCC attribute((ifunc("resolver"))) for
targets that use ELF as object file format. In general ifunc is a
special kind of function alias with type @gnu_indirect_function. LLVM
patch http://reviews.llvm.org/D15525

Differential Revision: http://reviews.llvm.org/D15524

llvm-svn: 265917

show more ...


# 10a4972a 08-Apr-2016 Saleem Abdulrasool <[email protected]>

revert SVN r265702, r265640

Revert the two changes to thread CodeGenOptions into the TargetInfo allocation
and to fix the layering violation by moving CodeGenOptions into Basic.
Code Generation is a

revert SVN r265702, r265640

Revert the two changes to thread CodeGenOptions into the TargetInfo allocation
and to fix the layering violation by moving CodeGenOptions into Basic.
Code Generation is arguably not particularly "basic". This addresses Richard's
post-commit review comments. This change purely does the mechanical revert and
will be followed up with an alternate approach to thread the desired information
into TargetInfo.

llvm-svn: 265806

show more ...


# f60a0d74 08-Apr-2016 Sanjoy Das <[email protected]>

Adapt to LLVM API change

Replace mayBeOverridden with isInterposable

llvm-svn: 265767


1...<<21222324252627282930>>...75