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 |
|
#
e800967e |
| 26-Jun-2023 |
Zain Jaffal <z_jaffal@apple.com> |
[YAMLParser] Support block nodes when parsing YAML strings.
Previously if a string is in the format ``` | val val2 val3 ``` Yaml parser will error out without parsing the string. T
[YAMLParser] Support block nodes when parsing YAML strings.
Previously if a string is in the format ``` | val val2 val3 ``` Yaml parser will error out without parsing the string. The mentioned pattern is a valid yaml str and should be parsed.
Differential Revision: https://reviews.llvm.org/D153760
show more ...
|
Revision tags: 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
|
#
b6a01caa |
| 03-Dec-2022 |
Kazu Hirata <kazu@google.com> |
[llvm/unittests] 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 am
[llvm/unittests] 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, 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, 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, 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 |
|
#
0947af7a |
| 16-Oct-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Fix warning for ambigous `else` behind EXPECT macro
http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/31902/steps/ninja%20check%201/logs/stdio
llvm-svn: 375015
|
#
437f362c |
| 16-Oct-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Fix unit test by only checking for the path
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/39536/steps/ninja%20check%201/logs/FAIL%3A%20LLVM-Unit%3A%3AYAMLRemarks.ParsingBadM
[Remarks] Fix unit test by only checking for the path
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/39536/steps/ninja%20check%201/logs/FAIL%3A%20LLVM-Unit%3A%3AYAMLRemarks.ParsingBadMeta
llvm-svn: 375014
show more ...
|
#
0216a3c6 |
| 16-Oct-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Use StringRef::contains to avoid differences in error string
Different OSs have different error strings:
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/39534/steps/ninja%20c
[Remarks] Use StringRef::contains to avoid differences in error string
Different OSs have different error strings:
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/39534/steps/ninja%20check%201/logs/FAIL%3A%20LLVM-Unit%3A%3AYAMLRemarks.ParsingBadMeta
llvm-svn: 375011
show more ...
|
#
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, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1 |
|
#
ec63dc2c |
| 26-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Update unit test to use StringRef::lower
llvm-svn: 367161
|
#
95ed4c38 |
| 26-Jul-2019 |
Reid Kleckner <rnk@google.com> |
Fix remarks unit test on Windows
"no such file or directory" vs "No such file or directory"
llvm-svn: 367159
|
#
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
|
#
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 |
|
#
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 |
|
#
312f1d7d |
| 04-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Require an explicit format to the parser
Make the parser require an explicit format.
This allows new formats to be easily added by following YAML as an example.
llvm-svn: 365102
|
#
e6ba313a |
| 04-Jul-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks][NFC] Move the string table parsing out of the parser constructor
Make the parser take an already-parsed string table.
llvm-svn: 365101
|
Revision tags: llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
#
7fee2b89 |
| 24-Apr-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Add string deduplication using a string table
* Add support for uniquing strings in the remark streamer and emitting the string table in the remarks section.
* Add parsing support for the
[Remarks] Add string deduplication using a string table
* Add support for uniquing strings in the remark streamer and emitting the string table in the remarks section.
* Add parsing support for the string table in the RemarkParser.
From this remark:
``` --- !Missed Pass: inline Name: NoDefinition DebugLoc: { File: 'test-suite/SingleSource/UnitTests/2002-04-17-PrintfChar.c', Line: 7, Column: 3 } Function: printArgsNoRet Args: - Callee: printf - String: ' will not be inlined into ' - Caller: printArgsNoRet DebugLoc: { File: 'test-suite/SingleSource/UnitTests/2002-04-17-PrintfChar.c', Line: 6, Column: 0 } - String: ' because its definition is unavailable' ... ```
to:
``` --- !Missed Pass: 0 Name: 1 DebugLoc: { File: 3, Line: 7, Column: 3 } Function: 2 Args: - Callee: 4 - String: 5 - Caller: 2 DebugLoc: { File: 3, Line: 6, Column: 0 } - String: 6 ... ```
And the string table in the .remarks/__remarks section containing:
``` inline\0NoDefinition\0printArgsNoRet\0 test-suite/SingleSource/UnitTests/2002-04-17-PrintfChar.c\0printf\0 will not be inlined into \0 because its definition is unavailable\0 ```
This is mostly supposed to be used for testing purposes, but it gives us a 2x reduction in the remark size, and is an incremental change for the updates to the remarks file format.
Differential Revision: https://reviews.llvm.org/D60227
llvm-svn: 359050
show more ...
|
#
5a05cc0e |
| 19-Mar-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
Reland "[Remarks] Add a new Remark / RemarkParser abstraction"
This adds a Remark class that allows us to share code when working with remarks.
The C API has been updated to reflect this. Instead o
Reland "[Remarks] Add a new Remark / RemarkParser abstraction"
This adds a Remark class that allows us to share code when working with remarks.
The C API has been updated to reflect this. Instead of the parser generating C structs, it's now using a C++ object that is used through opaque pointers in C. This gives us much more flexibility on what changes we can make to the internal state of the object and interacts much better with scenarios where the library is used through dlopen.
* C API updates: * move from C structs to opaque pointers and functions * the remark type is now an enum instead of a string * unit tests updates: * use mostly the C++ API * keep one test for the C API * rename to YAMLRemarksParsingTest * a typo was fixed: AnalysisFPCompute -> AnalysisFPCommute. * a new error message was added: "expected a remark tag." * llvm-opt-report has been updated to use the C++ parser instead of the C API
Differential Revision: https://reviews.llvm.org/D59049
Original llvm-svn: 356491
llvm-svn: 356519
show more ...
|
#
9ef60a25 |
| 19-Mar-2019 |
Francis Visoiu Mistrih <francisvm@yahoo.com> |
[Remarks] Add a new Remark / RemarkParser abstraction
This adds a Remark class that allows us to share code when working with remarks.
The C API has been updated to reflect this. Instead of the par
[Remarks] Add a new Remark / RemarkParser abstraction
This adds a Remark class that allows us to share code when working with remarks.
The C API has been updated to reflect this. Instead of the parser generating C structs, it's now using a C++ object that is used through opaque pointers in C. This gives us much more flexibility on what changes we can make to the internal state of the object and interacts much better with scenarios where the library is used through dlopen.
* C API updates: * move from C structs to opaque pointers and functions * the remark type is now an enum instead of a string * unit tests updates: * use mostly the C++ API * keep one test for the C API * rename to YAMLRemarksParsingTest * a typo was fixed: AnalysisFPCompute -> AnalysisFPCommute. * a new error message was added: "expected a remark tag." * llvm-opt-report has been updated to use the C++ parser instead of the C API
Differential Revision: https://reviews.llvm.org/D59049
llvm-svn: 356491
show more ...
|