History log of /llvm-project/clang/lib/CodeGen/CodeGenModule.cpp (Results 1126 – 1150 of 2157)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# e990a3f6 18-Feb-2015 Larisse Voufo <lvoufo@google.com>

Rename flags and options to match current naming: from -fdef-sized-delete to -fdefine-sized-deallocation, and from DefaultSizedDelete to DefineSizedDeallocation.

llvm-svn: 229597


# d29a4a38 16-Feb-2015 Justin Bogner <mail@justinbogner.com>

InstrProf: Update for LLVM API change

Update for the API change in r229433

llvm-svn: 229434


# fbe56a05 15-Feb-2015 Larisse Voufo <lvoufo@google.com>

Fix a typo in r229291 causing buildbot failure.

llvm-svn: 229295


# 0c691d02 15-Feb-2015 Larisse Voufo <lvoufo@google.com>

More on fixing sized deallocation implementation logic: Fix PR21754.

llvm-svn: 229291


# 5526f4f0 14-Feb-2015 Larisse Voufo <lvoufo@google.com>

Revise the implementation logic of sized deallocation: Do not automatically generate weak definitions of the sized operator delete (in terms of unsized operator delete). Instead, provide the funciton

Revise the implementation logic of sized deallocation: Do not automatically generate weak definitions of the sized operator delete (in terms of unsized operator delete). Instead, provide the funcitonality via a new compiler flag, -fdef-sized-delete.
The current implementation causes link-time ODR violations when the delete symbols are exported into the dynamic table.

llvm-svn: 229241

show more ...


Revision tags: llvmorg-3.6.0-rc3
# e1a0b2e2 03-Feb-2015 David Majnemer <david.majnemer@gmail.com>

MS ABI: Records with fields with required aligmnet shouldn't be common

llvm-svn: 227954


# f37f3d35 02-Feb-2015 Justin Holewinski <jholewinski@nvidia.com>

When generating llvm.used, we may need an addrspacecast instead of a bitcast.

Summary:
This is especially important for targets that use multiple address spaces,
and commonly place global variables

When generating llvm.used, we may need an addrspacecast instead of a bitcast.

Summary:
This is especially important for targets that use multiple address spaces,
and commonly place global variables in address spaces other than zero.

Fixes PR22383

Test Plan: New test case added: llvm-used.cu

Reviewers: jingyue

Subscribers: llvm-commits

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

llvm-svn: 227861

show more ...


Revision tags: llvmorg-3.6.0-rc2
# e5df59ff 22-Jan-2015 Rafael Espindola <rafael.espindola@gmail.com>

Emit DeferredDeclsToEmit in a DFS order.

Currently we emit DeferredDeclsToEmit in reverse order. This patch changes that.

The advantages of the change are that

* The output order is a bit closer t

Emit DeferredDeclsToEmit in a DFS order.

Currently we emit DeferredDeclsToEmit in reverse order. This patch changes that.

The advantages of the change are that

* The output order is a bit closer to the source order. The change to
test/CodeGenCXX/pod-member-memcpys.cpp is a good example.

* If we decide to deffer more, it will not cause as large changes in the
estcases as it would without this patch.

llvm-svn: 226751

show more ...


# 6d1178ca 21-Jan-2015 Rafael Espindola <rafael.espindola@gmail.com>

clang-format function. NFC.

llvm-svn: 226662


# 740d59ec 21-Jan-2015 David Majnemer <david.majnemer@gmail.com>

CodeGen: Compiler generated __declspec(uuid) objects should be COMDAT'd

llvm-svn: 226628


# d9b26d56 16-Jan-2015 Rafael Espindola <rafael.espindola@gmail.com>

Add comdat to string literal variables on COFF.

llvm-svn: 226317


# cb92c19f 15-Jan-2015 Rafael Espindola <rafael.espindola@gmail.com>

Use a trivial comdat for C++ tables.

This produces comdats for vtables, typeinfo, typeinfo names, and vtts.

When combined with llvm not producing implicit comdats, not doing this would
cause code b

Use a trivial comdat for C++ tables.

This produces comdats for vtables, typeinfo, typeinfo names, and vtts.

When combined with llvm not producing implicit comdats, not doing this would
cause code bloat on ELF and link errors on COFF.

llvm-svn: 226227

show more ...


# dbee8a7a 15-Jan-2015 Rafael Espindola <rafael.espindola@gmail.com>

Use a trivial comdat for inline ctor/dtor when not using C5/D5.

When combined with llvm not producing implicit comdats, not doing this would
cause code bloat on ELF and link errors on COFF.

llvm-sv

Use a trivial comdat for inline ctor/dtor when not using C5/D5.

When combined with llvm not producing implicit comdats, not doing this would
cause code bloat on ELF and link errors on COFF.

llvm-svn: 226211

show more ...


Revision tags: llvmorg-3.6.0-rc1
# 0d9593dd 14-Jan-2015 Chandler Carruth <chandlerc@gmail.com>

[cleanup] Re-sort *all* #include lines with llvm/utils/sort_includes.py

Sorry for the noise, I managed to miss a bunch of recent regressions of
include orderings here. This should actually sort all

[cleanup] Re-sort *all* #include lines with llvm/utils/sort_includes.py

Sorry for the noise, I managed to miss a bunch of recent regressions of
include orderings here. This should actually sort all the includes for
Clang. Again, no functionality changed, this is just a mechanical
cleanup that I try to run periodically to keep the #include lines as
regular as possible across the project.

llvm-svn: 225979

show more ...


# 0d4fb985 12-Jan-2015 Rafael Espindola <rafael.espindola@gmail.com>

[patch][pr19848] Produce explicit comdats in clang.

The llvm IR until recently had no support for comdats. This was a problem when
targeting C++ on ELF/COFF as just using weak linkage would cause qu

[patch][pr19848] Produce explicit comdats in clang.

The llvm IR until recently had no support for comdats. This was a problem when
targeting C++ on ELF/COFF as just using weak linkage would cause quite a bit of
dead bits to remain on the executable (unless -ffunction-sections,
-fdata-sections and --gc-sections were used).

To fix the problem, llvm's codegen will just assume that any weak or linkonce
that is not in an explicit comdat should be output in one with the same name as
the global.

This unfortunately breaks cases like pr19848 where a weak symbol is not
xpected to be part of any comdat.

Now that we have explicit comdats in the IR, we can finally get both cases
right.

This first patch just makes clang give explicit comdats to GlobalValues where
t is allowed to.

A followup patch to llvm will then stop implicitly producing comdats.

llvm-svn: 225705

show more ...


# 43a0f99b 10-Jan-2015 Hans Wennborg <hans@hanshq.net>

Don't emit implicit template instantiations eagerly (PR21718)

Their linkage can change if they are later explicitly instantiated. We would
previously emit such functions eagerly (as opposed to lazil

Don't emit implicit template instantiations eagerly (PR21718)

Their linkage can change if they are later explicitly instantiated. We would
previously emit such functions eagerly (as opposed to lazily on first use) if
they have a 'dllexport' or 'used' attribute, and fail an assert when hitting the
explicit instantiation.

This is achieved by replacing the old CodeGenModule::MayDeferGeneration() method
with two new ones: MustBeEmitted() and MayBeEmittedEagerly().

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

llvm-svn: 225570

show more ...


Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2
# 0317bc9e 16-Dec-2014 David Blaikie <dblaikie@gmail.com>

PR21909: Don't try (and crash) to generate debug info for explicit instantiations of explicit specializations.

llvm-svn: 224394


# 30e41fb4 15-Dec-2014 Paul Robinson <paul_robinson@playstation.sony.com>

Warn when attribute 'optnone' conflicts with attributes on a
different declaration of the same function.

llvm-svn: 224256


# 08556951 11-Dec-2014 Paul Robinson <paul_robinson@playstation.sony.com>

Instead of having -Os/-Oz add OptimizeForSize/MinSize first, and later
having OptimizeNone remove them again, just don't add them in the
first place if the function already has OptimizeNone.

Note th

Instead of having -Os/-Oz add OptimizeForSize/MinSize first, and later
having OptimizeNone remove them again, just don't add them in the
first place if the function already has OptimizeNone.

Note that MinSize can still appear due to attributes on different
declarations; a future patch will address that.

llvm-svn: 224047

show more ...


# fb494914 09-Dec-2014 Duncan P. N. Exon Smith <dexonsmith@apple.com>

IR: Update clang for Metadata/Value split in r223802

Match LLVM API changes from r223802.

llvm-svn: 223803


Revision tags: llvmorg-3.5.1-rc1
# 970ac605 08-Dec-2014 Justin Bogner <mail@justinbogner.com>

InstrProf: Use LLVM's -instrprof pass for profiling

The logic for lowering profiling counters has been moved to an LLVM
pass. Emit the intrinsics rather than duplicating the whole pass in
clang.

ll

InstrProf: Use LLVM's -instrprof pass for profiling

The logic for lowering profiling counters has been moved to an LLVM
pass. Emit the intrinsics rather than duplicating the whole pass in
clang.

llvm-svn: 223683

show more ...


# d90dd797 02-Dec-2014 Anton Korobeynikov <asl@math.spbu.ru>

Fix invalid calling convention used for libcalls on ARM.
ARM ABI specifies that all the libcalls use soft FP ABI
(even hard FP binaries). These days clang emits _mulsc3 / _muldc3
calls with default

Fix invalid calling convention used for libcalls on ARM.
ARM ABI specifies that all the libcalls use soft FP ABI
(even hard FP binaries). These days clang emits _mulsc3 / _muldc3
calls with default (C) calling convention which would be translated
into AAPCS_VFP LLVM calling and thus the result of complex
multiplication will be bogus.

Introduce a way for a target to specify explicitly calling
convention for libcalls. Right now this is temporary correctness
fix. Ultimately, we'll end with intrinsic for complex
multiplication and all calling convention decisions for libcalls
will be put into backend.

llvm-svn: 223123

show more ...


# ee7cf84c 01-Dec-2014 Reid Kleckner <reid@kleckner.net>

Use nullptr to silence -Wsentinel when self-hosting on Windows

Richard rejected my Sema change to interpret an integer literal zero in
a varargs context as a null pointer, so -Wsentinel sees an inte

Use nullptr to silence -Wsentinel when self-hosting on Windows

Richard rejected my Sema change to interpret an integer literal zero in
a varargs context as a null pointer, so -Wsentinel sees an integer
literal zero and fires off a warning. Only CodeGen currently knows that
it promotes integer literal zeroes in this context to pointer size on
Windows. I didn't want to teach -Wsentinel about that compatibility
hack. Therefore, I'm migrating to C++11 nullptr.

llvm-svn: 223079

show more ...


# a634ff21 01-Dec-2014 Richard Smith <richard-llvm@metafoo.co.uk>

Add missing 'break's, found by inspection. No functionality change; the
fallthrough happened to do the right thing in both cases.

llvm-svn: 223064


# 4ece6825 24-Nov-2014 Paul Robinson <paul_robinson@playstation.sony.com>

Correctly remove OptimizeForSize from functions marked OptimizeNone.
This allows using __attribute__((optnone)) and the -Os/-Oz options.
Fixes PR21604.

llvm-svn: 222683


1...<<41424344454647484950>>...87