#
6dd78e49 |
| 30-May-2016 |
Saleem Abdulrasool <compnerd@compnerd.org> |
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 <compnerd@compnerd.org> |
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 <tra@google.com> |
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 <vsk@apple.com> |
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 <vsk@apple.com> |
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 <vsk@apple.com> |
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 <chandlerc@gmail.com> |
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 <vsk@apple.com> |
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 <vsk@apple.com> |
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 <vsk@apple.com> |
[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 <tmsriram@google.com> |
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 <peter@pcc.me.uk> |
Re-apply r267784, r267824 and r267830.
I have updated the compiler-rt tests.
llvm-svn: 267903
|
#
5556a5cf |
| 28-Apr-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
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 <peter@pcc.me.uk> |
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 <rnk@google.com> |
[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 <dmitry.polukhin@gmail.com> |
[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 <compnerd@compnerd.org> |
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 <sanjoy@playingwithpointers.com> |
Adapt to LLVM API change
Replace mayBeOverridden with isInterposable
llvm-svn: 265767
|
#
351241c8 |
| 07-Apr-2016 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Replace Sema-level implementation of -fassume-sane-operator-new with a CodeGen-level implementation. Instead of adding an attribute to clang's FunctionDecl, add the IR attribute directly. This means
Replace Sema-level implementation of -fassume-sane-operator-new with a CodeGen-level implementation. Instead of adding an attribute to clang's FunctionDecl, add the IR attribute directly. This means a module built with this flag is now compatible with code built without it and vice versa.
This change also results in the 'noalias' attribute no longer being added to calls to operator new in the IR; it's now only added to the declaration. It also fixes a bug where we failed to add the attribute to the 'nothrow' versions (because we didn't implicitly declare them, there was no good time to inject a fake attribute).
llvm-svn: 265728
show more ...
|
#
94cfc603 |
| 07-Apr-2016 |
Saleem Abdulrasool <compnerd@compnerd.org> |
Basic: move CodeGenOptions from Frontend
This is a mechanical move of CodeGenOptions from libFrontend to libBasic. This fixes the layering violation introduced earlier by threading CodeGenOptions i
Basic: move CodeGenOptions from Frontend
This is a mechanical move of CodeGenOptions from libFrontend to libBasic. This fixes the layering violation introduced earlier by threading CodeGenOptions into TargetInfo. It should also fix the modules based self-hosting builds. NFC.
llvm-svn: 265702
show more ...
|
#
d3a44f68 |
| 05-Apr-2016 |
Justin Lebar <jlebar@google.com> |
[CUDA] Add -fcuda-flush-denormals-to-zero.
Summary: Setting this flag causes all functions are annotated with the "nvvm-f32ftz" = "true" attribute.
In addition, we annotate the module with "nvvm-re
[CUDA] Add -fcuda-flush-denormals-to-zero.
Summary: Setting this flag causes all functions are annotated with the "nvvm-f32ftz" = "true" attribute.
In addition, we annotate the module with "nvvm-reflect-ftz" set to 0 or 1, depending on whether -cuda-flush-denormals-to-zero is set. This is read by the NVVMReflect pass.
Reviewers: tra, rnk
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D18671
llvm-svn: 265435
show more ...
|
#
2041b46b |
| 28-Mar-2016 |
David Majnemer <david.majnemer@gmail.com> |
Fix serialization/deserialization for __uuidof
I broke this back in r264529 because I forgot to serialize the UuidAttr member. Fix this by replacing the UuidAttr with a StringRef which is properly
Fix serialization/deserialization for __uuidof
I broke this back in r264529 because I forgot to serialize the UuidAttr member. Fix this by replacing the UuidAttr with a StringRef which is properly serialized and deserialized.
llvm-svn: 264562
show more ...
|
#
65687600 |
| 27-Mar-2016 |
David Majnemer <david.majnemer@gmail.com> |
Use the correct alignment for uuid descriptors
The _GUID_ descriptors emitted by MSVC have alignment 8 for 64-bit builds: we should do the same if the linker picks the "wrong" COMDAT.
llvm-svn: 264
Use the correct alignment for uuid descriptors
The _GUID_ descriptors emitted by MSVC have alignment 8 for 64-bit builds: we should do the same if the linker picks the "wrong" COMDAT.
llvm-svn: 264530
show more ...
|
#
1dbc7a7a |
| 27-Mar-2016 |
David Majnemer <david.majnemer@gmail.com> |
Improve the representation of CXXUuidofExpr
Keep a pointer to the UuidAttr that the CXXUuidofExpr corresponds to. This makes translating from __uuidof to the underlying constant a lot more straightf
Improve the representation of CXXUuidofExpr
Keep a pointer to the UuidAttr that the CXXUuidofExpr corresponds to. This makes translating from __uuidof to the underlying constant a lot more straightforward.
llvm-svn: 264529
show more ...
|
#
8160812e |
| 24-Mar-2016 |
Easwaran Raman <eraman@google.com> |
Attach profile summary information to Module.
Differential Revision: http://reviews.llvm.org/D18289
llvm-svn: 264342
|