[llvm] r342518 - [XRay][compiler-rt] FDRLogWriter Abstraction
Dean Michael Berris via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 19 16:54:10 PDT 2018
That error is not terribly helpful though -- which linker argument is not
used?
I attempted a fix for this in https://reviews.llvm.org/rL342523, did that
not fix the issue for the standalone build?
On Thu, Sep 20, 2018 at 8:31 AM Evgenii Stepanov <eugeni.stepanov at gmail.com>
wrote:
> Reverted in r342596.
>
> On Wed, Sep 19, 2018 at 3:10 PM, Evgenii Stepanov <
> eugeni.stepanov at gmail.com> wrote:
>
>> Hi,
>>
>> this is failing on the bot:
>>
>> http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/15732/steps/test%20standalone%20compiler-rt/logs/stdio
>>
>> clang-8: error: /b/sanitizer-x86_64-linux/build/llvm_build64/include: 'linker' input unused [-Werror,-Wunused-command-line-argument]
>>
>>
>> The compiler (with -c flag) command line includes the path mentioned
>> above without -I .
>> I'm not sure how that happens, but reverting this change (along with
>> another one that depends on it) helps.
>>
>>
>>
>> On Tue, Sep 18, 2018 at 4:59 PM, Dean Michael Berris via llvm-commits <
>> llvm-commits at lists.llvm.org> wrote:
>>
>>> Author: dberris
>>> Date: Tue Sep 18 16:59:32 2018
>>> New Revision: 342518
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=342518&view=rev
>>> Log:
>>> [XRay][compiler-rt] FDRLogWriter Abstraction
>>>
>>> Summary:
>>> This change introduces an `FDRLogWriter` type which is responsible for
>>> serialising metadata and function records to character buffers. This is
>>> the first step in a refactoring of the implementation of the FDR runtime
>>> to allow for more granular testing of the individual components of the
>>> implementation.
>>>
>>> The main contribution of this change is a means of hiding the details of
>>> how specific records are written to a buffer, and for managing the
>>> extents of these buffers. We make use of C++ features (templates and
>>> some metaprogramming) to reduce repetition in the act of writing out
>>> specific kinds of records to the buffer.
>>>
>>> In this process, we make a number of changes across both LLVM and
>>> compiler-rt to allow us to use the `Trace` abstraction defined in the
>>> LLVM project in the testing of the runtime implementation. This gives us
>>> a closer end-to-end test which version-locks the runtime implementation
>>> with the loading implementation in LLVM.
>>>
>>> We also allow using gmock in compiler-rt unit tests, by adding the
>>> requisite definitions in the `AddCompilerRT.cmake` module.
>>>
>>> Finally, we've gone ahead and updated the FDR logging implementation to
>>> use the FDRLogWriter for the lowest-level record-writing details.
>>>
>>> Following patches will isolate the state machine transitions which
>>> manage the set-up and tear-down of the buffers we're using in multiple
>>> threads.
>>>
>>> Reviewers: mboerger, eizan
>>>
>>> Subscribers: mgorny, jfb, llvm-commits
>>>
>>> Differential Revision: https://reviews.llvm.org/D52220
>>>
>>> Modified:
>>> llvm/trunk/include/llvm/XRay/Trace.h
>>>
>>> Modified: llvm/trunk/include/llvm/XRay/Trace.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/XRay/Trace.h?rev=342518&r1=342517&r2=342518&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/XRay/Trace.h (original)
>>> +++ llvm/trunk/include/llvm/XRay/Trace.h Tue Sep 18 16:59:32 2018
>>> @@ -46,20 +46,25 @@ namespace xray {
>>> ///
>>> class Trace {
>>> XRayFileHeader FileHeader;
>>> - std::vector<XRayRecord> Records;
>>> + using RecordVector = std::vector<XRayRecord>;
>>> + RecordVector Records;
>>>
>>> typedef std::vector<XRayRecord>::const_iterator citerator;
>>>
>>> friend Expected<Trace> loadTrace(const DataExtractor &, bool);
>>>
>>> public:
>>> + using size_type = RecordVector::size_type;
>>> + using value_type = RecordVector::value_type;
>>> + using const_iterator = RecordVector::const_iterator;
>>> +
>>> /// Provides access to the loaded XRay trace file header.
>>> const XRayFileHeader &getFileHeader() const { return FileHeader; }
>>>
>>> - citerator begin() const { return Records.begin(); }
>>> - citerator end() const { return Records.end(); }
>>> + const_iterator begin() const { return Records.begin(); }
>>> + const_iterator end() const { return Records.end(); }
>>> bool empty() const { return Records.empty(); }
>>> - size_t size() const { return Records.size(); }
>>> + size_type size() const { return Records.size(); }
>>> };
>>>
>>> /// This function will attempt to load XRay trace records from the
>>> provided
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180920/1d862306/attachment.html>
More information about the llvm-commits
mailing list