Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
a81a0c97 |
| 07-Dec-2022 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Remarks] Convert Optional to std::optional
|
#
aadaafac |
| 03-Dec-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of ma
[llvm] Use std::nullopt instead of None (NFC)
This patch mechanically replaces None with std::nullopt where the compiler would warn if None were deprecated. The intent is to reduce the amount of manual work required in migrating from Optional to std::optional.
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
Revision tags: llvmorg-15.0.6 |
|
#
e9b0bcb6 |
| 26-Nov-2022 |
Kazu Hirata <kazu@google.com> |
[Remarks] Use std::optional in RemarkParser.cpp (NFC)
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-ge
[Remarks] Use std::optional in RemarkParser.cpp (NFC)
This is part of an effort to migrate from llvm::Optional to std::optional:
https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
show more ...
|
Revision tags: llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6 |
|
#
064a08cd |
| 21-Jun-2022 |
Kazu Hirata <kazu@google.com> |
Don't use Optional::hasValue (NFC)
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init |
|
#
25991aad |
| 28-Jan-2022 |
serge-sans-paille <sguelton@redhat.com> |
Cleanup LLVMRemarks includes
Based on the output of include-what you-use.
Most notably, llvm/Remarks/Remark.h is no longer automatically included by llvm/Remarks/RemarkParser.h, so client code may
Cleanup LLVMRemarks includes
Based on the output of include-what you-use.
Most notably, llvm/Remarks/Remark.h is no longer automatically included by llvm/Remarks/RemarkParser.h, so client code may need to include explicitly.
clang++ -E -Iinclude -I../llvm/include ../llvm/lib/Remarks/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before: 770253 after: 759347
Related discourse thread: https://llvm.discourse.group/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D118506
show more ...
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
#
684605ec |
| 16-Oct-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Add support for prepending a path to external files
This helps with testing and debugging for paths that are assumed absolute.
It also uses a FileError to provide the file path it's tryin
[Remarks] Add support for prepending a path to external files
This helps with testing and debugging for paths that are assumed absolute.
It also uses a FileError to provide the file path it's trying to open.
llvm-svn: 375008
show more ...
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4 |
|
#
a85d9ef1 |
| 09-Sep-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Add parser for bitstream remarks
The bitstream remark serializer landed in r367372.
This adds a bitstream remark parser that parser bitstream remark files to llvm::remarks::Remark objects
[Remarks] Add parser for bitstream remarks
The bitstream remark serializer landed in r367372.
This adds a bitstream remark parser that parser bitstream remark files to llvm::remarks::Remark objects through the RemarkParser interface.
A few interesting things to point out:
* There are parsing helpers to parse the different types of blocks * The main parsing helper allows us to parse remark metadata and open an external file containing the encoded remarks * This adds a dependency from the Remarks library to the BitstreamReader library * The testing strategy is to create a remark entry through YAML, parse it, serialize it to bitstream, parse that back and compare the objects. * There are close to no tests for malformed bitstream remarks, due to the lack of textual format for the bitstream format. * This adds a new C API for parsing bitstream remarks: LLVMRemarkParserCreateBitstream. * This bumps the REMARKS_API_VERSION to 1.
Differential Revision: https://reviews.llvm.org/D67134
llvm-svn: 371429
show more ...
|
Revision tags: llvmorg-9.0.0-rc3 |
|
#
dc5f805d |
| 23-Aug-2019 |
Benjamin Kramer <benny.kra@googlemail.com> |
Do a sweep of symbol internalization. NFC.
llvm-svn: 369803
|
#
0eaee545 |
| 15-Aug-2019 |
Jonas Devlieghere <jonas@devlieghere.com> |
[llvm] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of
[llvm] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of (hopefully) all the llvm::make_unique instances across the monorepo.
llvm-svn: 369013
show more ...
|
Revision tags: llvmorg-9.0.0-rc2 |
|
#
84e80979 |
| 31-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
Reland: [Remarks] Add an LLVM-bitstream-based remark serializer
Add a new serializer, using a binary format based on the LLVM bitstream format.
This format provides a way to serialize the remarks i
Reland: [Remarks] Add an LLVM-bitstream-based remark serializer
Add a new serializer, using a binary format based on the LLVM bitstream format.
This format provides a way to serialize the remarks in two modes:
1) Separate mode: the metadata is separate from the remark entries. 2) Standalone mode: the metadata and the remark entries are in the same file.
The format contains:
* a meta block: container version, container type, string table, external file path, remark version * a remark block: type, remark name, pass name, function name, debug file, debug line, debug column, hotness, arguments (key, value, debug file, debug line, debug column)
A string table is required for this format, which will be dumped in the meta block to be consumed before parsing the remark blocks.
On clang itself, we noticed a size reduction of 13.4x compared to YAML, and a compile-time reduction of between 1.7% and 3.5% on CTMark.
Differential Revision: https://reviews.llvm.org/D63466
Original llvm-svn: 367364 Revert llvm-svn: 367370
llvm-svn: 367372
show more ...
|
#
d8e7967a |
| 31-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
Revert "[Remarks] Add an LLVM-bitstream-based remark serializer"
This reverts commit r367364.
Breaks some bots: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-gn/builds/3161/steps/annotat
Revert "[Remarks] Add an LLVM-bitstream-based remark serializer"
This reverts commit r367364.
Breaks some bots: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-gn/builds/3161/steps/annotate/logs/stdio
llvm-svn: 367370
show more ...
|
#
6c3c9483 |
| 30-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Add an LLVM-bitstream-based remark serializer
Add a new serializer, using a binary format based on the LLVM bitstream format.
This format provides a way to serialize the remarks in two mo
[Remarks] Add an LLVM-bitstream-based remark serializer
Add a new serializer, using a binary format based on the LLVM bitstream format.
This format provides a way to serialize the remarks in two modes:
1) Separate mode: the metadata is separate from the remark entries. 2) Standalone mode: the metadata and the remark entries are in the same file.
The format contains:
* a meta block: container version, container type, string table, external file path, remark version * a remark block: type, remark name, pass name, function name, debug file, debug line, debug column, hotness, arguments (key, value, debug file, debug line, debug column)
A string table is required for this format, which will be dumped in the meta block to be consumed before parsing the remark blocks.
On clang itself, we noticed a size reduction of 13.4x compared to YAML, and a compile-time reduction of between 1.7% and 3.5% on CTMark.
Differential Revision: https://reviews.llvm.org/D63466
llvm-svn: 367364
show more ...
|
Revision tags: llvmorg-9.0.0-rc1 |
|
#
f5a33836 |
| 26-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Silence Wreturn-type warning
Shows up here: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer/builds/27771/steps/annotate/logs/stdio.
llvm-svn: 367162
|
#
64a5f9e1 |
| 26-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
Reland: [Remarks] Support parsing remark metadata in the YAML remark parser
This adds support to the yaml remark parser to be able to parse remarks directly from the metadata.
This supports parsing
Reland: [Remarks] Support parsing remark metadata in the YAML remark parser
This adds support to the yaml remark parser to be able to parse remarks directly from the metadata.
This supports parsing separate metadata and following the external file with the associated metadata, and also a standalone file containing metadata + remarks all together.
Original llvm-svn: 367148 Revert llvm-svn: 367151
This has a fix for gcc builds.
llvm-svn: 367155
show more ...
|
#
cdc74e21 |
| 26-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
Revert "[Remarks] Support parsing remark metadata in the YAML remark parser"
This reverts r367148.
Seems to fail on http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer/builds/27768.
ll
Revert "[Remarks] Support parsing remark metadata in the YAML remark parser"
This reverts r367148.
Seems to fail on http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer/builds/27768.
llvm-svn: 367151
show more ...
|
#
a41f6162 |
| 26-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Support parsing remark metadata in the YAML remark parser
This adds support to the yaml remark parser to be able to parse remarks directly from the metadata.
This supports parsing separat
[Remarks] Support parsing remark metadata in the YAML remark parser
This adds support to the yaml remark parser to be able to parse remarks directly from the metadata.
This supports parsing separate metadata and following the external file with the associated metadata, and also a standalone file containing metadata + remarks all together.
llvm-svn: 367148
show more ...
|
#
ab56cf89 |
| 25-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks][NFC] Rename remarks::Parser to remarks::RemarkParser
llvm-svn: 366965
|
#
509ad30d |
| 24-Jul-2019 |
Haojian Wu <hokein@google.com> |
[Remark] Suppress the "-Wreturn-type" compiler warning, NFC
llvm-svn: 366874
|
#
4287c95b |
| 23-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] String tables should be move-only
Copying them is expensive. This allows the tables to be moved around at lower cost, and allows a remarks::StringTable to be constructed from a remarks::Pa
[Remarks] String tables should be move-only
Copying them is expensive. This allows the tables to be moved around at lower cost, and allows a remarks::StringTable to be constructed from a remarks::ParsedStringTable.
llvm-svn: 366864
show more ...
|
#
c5b5cc45 |
| 23-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Introduce a new format: yaml-strtab
This exposes better support to use a string table with a format through an actual new remark::Format, called yaml-strtab.
This can now be used with -fs
[Remarks] Introduce a new format: yaml-strtab
This exposes better support to use a string table with a format through an actual new remark::Format, called yaml-strtab.
This can now be used with -fsave-optimization-record=yaml-strtab.
llvm-svn: 366849
show more ...
|
Revision tags: llvmorg-10-init |
|
#
ccf22ef9 |
| 16-Jul-2019 |
Michael Liao <michael.hliao@gmail.com> |
Fix -Wreturn-type warning. NFC.
llvm-svn: 366251
|
#
94bad22c |
| 16-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Simplify and refactor the RemarkParser interface
Before, everything was based on some kind of type erased parser implementation which container a lot of boilerplate code when multiple form
[Remarks] Simplify and refactor the RemarkParser interface
Before, everything was based on some kind of type erased parser implementation which container a lot of boilerplate code when multiple formats were to be supported.
This simplifies it by:
* the remark now owns its arguments * *always* returning an error from the implementation side * working around the way the YAML parser reports errors: catch them through callbacks and re-insert them in a proper llvm::Error * add a CParser wrapper that is used when implementing the C API to avoid cluttering the C++ API with useless state * LLVMRemarkParserGetNext now returns an object that needs to be released to avoid leaking resources * add a new API to dispose of a remark entry: LLVMRemarkEntryDispose
llvm-svn: 366217
show more ...
|
#
cc909812 |
| 16-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks][NFC] Combine ParserFormat and SerializerFormat
It's useless to have both.
llvm-svn: 366216
|
Revision tags: llvmorg-8.0.1, llvmorg-8.0.1-rc4 |
|
#
8177673f |
| 04-Jul-2019 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
Fix MSVC "not all control paths return a value" warnings. NFCI.
llvm-svn: 365119
|
#
67dd39f8 |
| 04-Jul-2019 |
Mikael Holmen <mikael.holmen@ericsson.com> |
[Remarks] Silence gcc warning by catching unhandled values in switches
Without this fix gcc (7.4) complains with ../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserI
[Remarks] Silence gcc warning by catching unhandled values in switches
Without this fix gcc (7.4) complains with ../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserImpl> formatToParserImpl(llvm::remarks::ParserFormat, llvm::StringRef)': ../lib/Remarks/RemarkParser.cpp:29:1: error: control reaches end of non-void function [-Werror=return-type] } ^ ../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserImpl> formatToParserImpl(llvm::remarks::ParserFormat, llvm::StringRef, const llvm::remarks::ParsedStringTable&)': ../lib/Remarks/RemarkParser.cpp:38:1: error: control reaches end of non-void function [-Werror=return-type] } ^
The Format enum currently only contains the value YAML which is indeed already handled in the switches, but gcc complains anyway.
Adding a default case with an llvm_unreachable silences gcc.
llvm-svn: 365118
show more ...
|