- User Since
- May 26 2014, 12:49 PM (173 w, 6 d)
Thu, Sep 21
Can you add the following tests?
I later found out that you can force a complete deletion of the source tree by building from revision 0. Do you think this functionality is still useful given this realization?
Wed, Sep 20
Made the test slightly stricter.
seems fine to me, I agree with the point about non-determinism, due to the nature of signals and the fact this is only intended to provide a best-effort interruption.
So apparently on Windows st_ino is 0 until Python 3.4. So, that's a deal breaker.
Thanks, I will submit this in a couple of hours when I get into the office.
Tue, Sep 19
Alright then, if you need it you need it :)
Rebased on top of changes.
Give me a few more hours, if there's a way to make this work with line_iterator I'd really prefer that since I think it improves readability. Can you confirm that if you were able to write:
Mon, Sep 18
Actually, I guess I'm a bit confused. What is this solving that you can't already do in a local config? Couldn't you just embed the stuff you want to execute in the local config?
Why not just have lit.setup-folder.cfg similar to how we have lit.local.cfg?
Had to revert this because of http://green.lab.llvm.org/green/job/libcxx_master_cmake/670/consoleFull
Removed code that belonged in another patch
Added missing file.
Sorry, ignore the inode changes, they are part of a different patch.
Please see https://bugs.llvm.org/show_bug.cgi?id=28222#c20 for a discussion of the performance implications of this patch. TL;DR - This has introduced a severe performance regression in tblgen (on the order of 4x slowdown) even for architectures such as X86 which according to the patch description should not be affected by this change.
Sun, Sep 17
Changed another std::set to a DenseSet, and changed a couple of sets to vectors. This shaves off another couple of seconds, I'm now down from 45s (no patch) -> 26s (with patch), for a 1.73x combined speedup.
Updated from suggestions.
Sat, Sep 16
To be clear, this patch is intended to be NFC. So the formatting changes aren't here. Just throwing it out there for potential commentary. I really have no idea how any of this black magic works, so if there's some obvious reason why people need the output to be formatted I'm happy to be wrong (well not happy necessarily, happy would be an extra 11s of my life back every time I type ninja)
Going to go ahead and submit this since it unblocks me and I tested in both Py2 and Py3. So consider this a request for optional post-commit review :) (although if it somehow breaks something on the bots I'll go ahead and revert).
Fri, Sep 15
I will try to land this now, will be watching the sanitizer bots this time.
Incorporated suggestions from beanz@ offline. Specifically, the concern is that someone could download and install lit via a package manager, but we would still try to add an out of tree source directory. This update makes it so that we generate llvm-lit iff a source tree is available, and we *use* the generated llvm-lit whenever -DLLVM_EXTERNAL_LIT is not specified.
It turns out the function this called, DispatchInputInterrupt, already acquires a mutex. Maybe put the synchronization in there? Then you don't have to reproduce the synchronization in both MI and LLDB
Another thing to think about. We already support a -DLIT_COMMAND=<path> cmake argument. If the user specifies that, it will just use whatever lit.py they specify.