Page MenuHomePhabricator
Feed Advanced Search

Mon, May 24

teemperor closed D103020: [lldb] Add missing mutex guards to TargetList::CreateTarget.
Mon, May 24, 10:50 AM · Restricted Project
teemperor committed rG5d7c1d8f33c3: [lldb] Readd deleted variable in the sample test (authored by teemperor).
[lldb] Readd deleted variable in the sample test
Mon, May 24, 7:30 AM
teemperor committed rG54c2687292da: [lldb] Introduce createTestTarget for creating a valid target in API tests (authored by teemperor).
[lldb] Introduce createTestTarget for creating a valid target in API tests
Mon, May 24, 7:19 AM
teemperor closed D102771: [lldb] Introduce createTestTarget for creating a valid target in API tests.
Mon, May 24, 7:19 AM · Restricted Project
teemperor requested review of D103020: [lldb] Add missing mutex guards to TargetList::CreateTarget.
Mon, May 24, 6:45 AM · Restricted Project
teemperor committed rG42a9c0c80c23: [lldb] Reland "Fix UB in half2float" to fix the ubsan bot. (authored by teemperor).
[lldb] Reland "Fix UB in half2float" to fix the ubsan bot.
Mon, May 24, 6:24 AM
teemperor added a comment to D100662: [lldb] Make the ClassTemplateDecl merging logic in TypeSystemClang respect template parameters.

Ping, I would like to get the bots green :)

Mon, May 24, 3:12 AM · Restricted Project
teemperor accepted D102942: Remove or use variables which are unused but set..

ABISysV_ppc.cpp feels a bit like this should be used to calculate some offset, but I don't think that's for this review to figure out what is wrong there. The other LLDB changes LGTM.

Mon, May 24, 2:04 AM · Restricted Project, Restricted Project

Sun, May 23

teemperor requested review of D102993: [lldb] Disable minimal import mode for RecordDecls that back FieldDecls.
Sun, May 23, 3:27 PM · Restricted Project

Fri, May 21

teemperor committed rGebd25fde5e04: [clang] Fix Wnested-anon-types in ABIArgInfo (authored by teemperor).
[clang] Fix Wnested-anon-types in ABIArgInfo
Fri, May 21, 2:19 AM
teemperor closed D102903: [clang] Fix Wnested-anon-types in ABIArgInfo .
Fri, May 21, 2:19 AM · Restricted Project
teemperor added inline comments to D97183: [analyzer] Add NoteTag for smart-ptr get().
Fri, May 21, 1:04 AM · Restricted Project
teemperor requested review of D102903: [clang] Fix Wnested-anon-types in ABIArgInfo .
Fri, May 21, 12:49 AM · Restricted Project

Thu, May 20

teemperor accepted D102811: [lldb] Move ClangModulesDeclVendor ownership to ClangPersistentVariables from Target.

LGTM. Soon LLDB will be as nicely layered (and maybe as tasty) as some good Schichttorte

Thu, May 20, 1:44 PM · Restricted Project
teemperor committed rG8ebaa195015d: [lldb] Adjust DumpDataExtractorTest.Formats for Windows (authored by teemperor).
[lldb] Adjust DumpDataExtractorTest.Formats for Windows
Thu, May 20, 9:00 AM
teemperor added a comment to D102402: LineEditor: Add a bare-bones readline-based implementation.

When this gets further along, maybe we can get LLDB to use it instead of EditLine.

Thu, May 20, 8:53 AM · Restricted Project
teemperor updated the diff for D102845: [lldb] Fix that LLDB doesn't print NaN's sign on Darwin.
  • Now uploaded the right tests.
Thu, May 20, 8:08 AM · Restricted Project
teemperor committed rG48780527dd68: [lldb][NFC] Add more Float16 unit tests (authored by teemperor).
[lldb][NFC] Add more Float16 unit tests
Thu, May 20, 8:08 AM
teemperor added a comment to D102846: [lldb] Reimplement half2float.

FWIW, compiler-rt has a generic version of this function that I wish we could use instead. But I don't think we have any way to reuse compiler-rt functionality from within LLDB?

Thu, May 20, 7:59 AM · Restricted Project
teemperor requested review of D102846: [lldb] Reimplement half2float.
Thu, May 20, 7:59 AM · Restricted Project
teemperor planned changes to D102845: [lldb] Fix that LLDB doesn't print NaN's sign on Darwin.

That's the wrong set of tests...

Thu, May 20, 7:51 AM · Restricted Project
teemperor requested review of D102845: [lldb] Fix that LLDB doesn't print NaN's sign on Darwin.
Thu, May 20, 7:50 AM · Restricted Project
teemperor added a reviewer for D102833: [debugserver]Add platform cache support to improve performance.Under BigSur 11.3 this function causes a performance loss of 0.68s per execution.: jasonmolenda.
Thu, May 20, 2:31 AM · Restricted Project

Wed, May 19

teemperor requested changes to D102811: [lldb] Move ClangModulesDeclVendor ownership to ClangPersistentVariables from Target.
Wed, May 19, 2:14 PM · Restricted Project
teemperor added a comment to D102811: [lldb] Move ClangModulesDeclVendor ownership to ClangPersistentVariables from Target.

First and foremost: Cool new username. +1 from me.

Wed, May 19, 2:13 PM · Restricted Project
teemperor abandoned D79752: [lldb] Move ClangModulesDeclVendor ownership to ClangPersistentVariables.
Wed, May 19, 2:09 PM · Restricted Project
teemperor commandeered D79752: [lldb] Move ClangModulesDeclVendor ownership to ClangPersistentVariables.

Replaced by D102811 and Alex has apparently a new account, so closing this.

Wed, May 19, 2:09 PM · Restricted Project
teemperor added a reverting change for rG4b074b49be20: [lldb] Fix UB in half2float and add some more tests.: rG30a5ddaef3e8: Revert "[lldb] Fix UB in half2float and add some more tests.".
Wed, May 19, 1:08 PM
teemperor committed rG30a5ddaef3e8: Revert "[lldb] Fix UB in half2float and add some more tests." (authored by teemperor).
Revert "[lldb] Fix UB in half2float and add some more tests."
Wed, May 19, 1:07 PM
teemperor committed rG4b074b49be20: [lldb] Fix UB in half2float and add some more tests. (authored by teemperor).
[lldb] Fix UB in half2float and add some more tests.
Wed, May 19, 12:37 PM
teemperor added a comment to D96033: [clang-repl] Land initial infrastructure for incremental parsing.

(Tabbed on the Submit button instead of finishing that quote block...)

Wed, May 19, 9:38 AM · Restricted Project
teemperor added a comment to D96033: [clang-repl] Land initial infrastructure for incremental parsing.

We've started seeing LLVM ERROR: out of memory on our 2-stage LTO Linux builders after this change landed. It looks like linking clang-repl always fails on our bot, but I've also seen OOM when linking ClangCodeGenTests and FrontendTests. Do you have any idea why this could be happening? We'd appreciate any help since our bots have been broken for several days now.

Ouch. Are the bot logs public? If not maybe a stacktrace could be useful. clang-repl combines a lot of libraries across llvm and clang that usually are compiled separately. For instance we put in memory most of the clang frontend, the backend and the JIT. Could it be we are hitting some real limit?

Yes, they are, see https://luci-milo.appspot.com/p/fuchsia/builders/prod/clang-linux-x64, but there isn't much information in there unfortunately. It's possible that we're hitting some limit, but these bots use 32-core instances with 128GB RAM which I'd hope is enough even for the LTO build.

I think the specs are fine for just building with LTO, but I am not sure if that's enough to for the worst case when running ninja -j320 with an LTO build (which is what your job is doing). Can you try limiting your link jobs to something like 16 or 32 (e.g., -DLLVM_PARALLEL_LINK_JOBS=32)

(FWIW, your go build script also crashes with OOM errors so you really are running low on memory on that node)`

-j320 is only used for the first stage compiler which uses distributed compilation and no LTO, the second stage which uses LTO and where we see this issue uses Ninja default, so -j32 in this case.

Wed, May 19, 9:31 AM · Restricted Project
teemperor added a comment to D102771: [lldb] Introduce createTestTarget for creating a valid target in API tests.

(This isn't really NFC as this now tests that we always return an SBError when we fail to create a target).

Wed, May 19, 6:48 AM · Restricted Project
teemperor updated the diff for D102771: [lldb] Introduce createTestTarget for creating a valid target in API tests.
  • Made test stricter.
Wed, May 19, 6:47 AM · Restricted Project
teemperor requested review of D102771: [lldb] Introduce createTestTarget for creating a valid target in API tests.
Wed, May 19, 6:45 AM · Restricted Project
teemperor accepted D102769: [lldb] Enable TestCppBitfields on Windows.

Sorry, I meant you can just commit this without review :)

Wed, May 19, 6:37 AM · Restricted Project
teemperor committed rGff954865137c: [lldb][NFC] Remove sample test boilerplate from TestBreakOnCPP11Initializers (authored by teemperor).
[lldb][NFC] Remove sample test boilerplate from TestBreakOnCPP11Initializers
Wed, May 19, 6:22 AM
teemperor requested review of D102762: [lldb] Use a time-based timeout instead of a hardcoded instruction count in the IRInterpreter.
Wed, May 19, 5:32 AM · Restricted Project
teemperor added a comment to D96033: [clang-repl] Land initial infrastructure for incremental parsing.

We've started seeing LLVM ERROR: out of memory on our 2-stage LTO Linux builders after this change landed. It looks like linking clang-repl always fails on our bot, but I've also seen OOM when linking ClangCodeGenTests and FrontendTests. Do you have any idea why this could be happening? We'd appreciate any help since our bots have been broken for several days now.

Ouch. Are the bot logs public? If not maybe a stacktrace could be useful. clang-repl combines a lot of libraries across llvm and clang that usually are compiled separately. For instance we put in memory most of the clang frontend, the backend and the JIT. Could it be we are hitting some real limit?

Yes, they are, see https://luci-milo.appspot.com/p/fuchsia/builders/prod/clang-linux-x64, but there isn't much information in there unfortunately. It's possible that we're hitting some limit, but these bots use 32-core instances with 128GB RAM which I'd hope is enough even for the LTO build.

Wed, May 19, 1:23 AM · Restricted Project

Tue, May 18

teemperor committed rG82f248d234a3: [ADT] Remove StringRef::withNullAsEmpty (authored by teemperor).
[ADT] Remove StringRef::withNullAsEmpty
Tue, May 18, 6:45 AM
teemperor closed D102599: [ADT] Remove StringRef::withNullAsEmpty.
Tue, May 18, 6:45 AM · Restricted Project
teemperor accepted D102685: [lldb] Encode `bool` as unsigned int.

Nice, and it's not even my birthday. Just some nits that don't need another round of review.

Tue, May 18, 6:12 AM · Restricted Project
teemperor requested review of D102677: [lldb][NFC] Remove misleading ModulePass base class for IRForTarget.
Tue, May 18, 2:59 AM · Restricted Project
teemperor committed rGd017d12f126e: [lldb][NFC] Cleanup IRForTarget member initializers (authored by teemperor).
[lldb][NFC] Cleanup IRForTarget member initializers
Tue, May 18, 1:50 AM
teemperor committed rGbbea361039c1: [lldb][NFC] Remove all uses of StringRef::withNullAsEmpty in LLDB (authored by teemperor).
[lldb][NFC] Remove all uses of StringRef::withNullAsEmpty in LLDB
Tue, May 18, 12:42 AM
teemperor closed D102597: [lldb][NFC] Remove all uses of StringRef::withNullAsEmpty in LLDB.
Tue, May 18, 12:41 AM · Restricted Project

Mon, May 17

teemperor added inline comments to D102624: [lldb] Optimize expressions.
Mon, May 17, 9:45 AM · Restricted Project
teemperor requested review of D102628: [lldb] Generalize UtilityFunctionScope to also cover user expressions.
Mon, May 17, 7:39 AM · Restricted Project
teemperor added inline comments to D102624: [lldb] Optimize expressions.
Mon, May 17, 7:20 AM · Restricted Project
teemperor updated the summary of D102624: [lldb] Optimize expressions.
Mon, May 17, 7:19 AM · Restricted Project
teemperor requested review of D102624: [lldb] Optimize expressions.
Mon, May 17, 7:15 AM · Restricted Project
teemperor added a comment to D102595: [lldb][NFC] Use StringRef in TypeSystem API (TypeSystem, CompilerType, TypeSystemClang).

(I'm going to land this when I prepared the respective Swift patches)

Mon, May 17, 6:16 AM · Restricted Project
teemperor added inline comments to D102595: [lldb][NFC] Use StringRef in TypeSystem API (TypeSystem, CompilerType, TypeSystemClang).
Mon, May 17, 6:09 AM · Restricted Project
teemperor committed rG888ce70af288: [DebugInfo] Fix DWARF expressions for __block vars that are not on the heap (authored by teemperor).
[DebugInfo] Fix DWARF expressions for __block vars that are not on the heap
Mon, May 17, 5:32 AM
teemperor closed D99946: [DebugInfo] Fix DWARF expressions for __block vars that are not on the heap.
Mon, May 17, 5:32 AM · Restricted Project
teemperor updated the diff for D99946: [DebugInfo] Fix DWARF expressions for __block vars that are not on the heap.
  • Merge tests
  • Check name of associated DILocalVariable
Mon, May 17, 5:01 AM · Restricted Project
teemperor accepted D101982: [debuginfo-tests] Fix environment variable used to specify LLDB.

LGTM. Please watch the Green Dragon bot for LLDB after landing (the bot runs the debuginfo-tests + LLDB tests). I noticed some time ago that part of the debuginfo-tests there were partly running the system LLDB (and it wasn't clear to me if that was actually on purpose). So this patch might bring up some previously hidden failures.

Mon, May 17, 3:14 AM · Restricted Project
teemperor committed rG5b614eb4ea6c: [lldb] Let dotest check for the `cassert` header instead of `algorithm` for… (authored by teemperor).
[lldb] Let dotest check for the `cassert` header instead of `algorithm` for…
Mon, May 17, 2:17 AM
teemperor closed D101056: [lldb] Let dotest check for the `cassert` header instead of `algorithm` for libc++ check.
Mon, May 17, 2:17 AM · Restricted Project
teemperor committed rG4112f5ef69a1: [lldb][NFC] Specify guidelines for API tests (authored by teemperor).
[lldb][NFC] Specify guidelines for API tests
Mon, May 17, 2:02 AM
teemperor closed D101153: [lldb][NFC] Specify guidelines for API tests.
Mon, May 17, 2:02 AM · Restricted Project
teemperor updated the summary of D102599: [ADT] Remove StringRef::withNullAsEmpty.
Mon, May 17, 1:22 AM · Restricted Project
teemperor edited reviewers for D102599: [ADT] Remove StringRef::withNullAsEmpty, added: lattner, mehdi_amini; removed: totally_not_teemperor.
Mon, May 17, 1:06 AM · Restricted Project
teemperor commandeered D102599: [ADT] Remove StringRef::withNullAsEmpty.
Mon, May 17, 1:06 AM · Restricted Project
teemperor requested review of D102597: [lldb][NFC] Remove all uses of StringRef::withNullAsEmpty in LLDB.
Mon, May 17, 12:40 AM · Restricted Project
teemperor requested review of D102595: [lldb][NFC] Use StringRef in TypeSystem API (TypeSystem, CompilerType, TypeSystemClang).
Mon, May 17, 12:26 AM · Restricted Project

Fri, May 14

teemperor accepted D102544: [lldb] Document ctrl-f for completing show-autosuggestion.

I think fish shell (where I got that idea from) calls this "*accepting* a suggestion" which seems clearer than "completing a suggestion".

Fri, May 14, 11:42 PM · Restricted Project

May 14 2021

teemperor requested review of D102513: [lldb] Don't try to synthesize a result variable when doing code completion.
May 14 2021, 10:46 AM · Restricted Project
teemperor accepted D102445: Switch from using member_clang_type.GetByteSize() to member_type->GetByteSize() in ParseSingleMember.

I think this can just land as an optimisation. If we can read the size from DWARF (e.g., just returning the stored size int) then that's much better than computing the layout for some type.

May 14 2021, 1:50 AM · Restricted Project

May 11 2021

teemperor added reviewers for D102208: Remove Windows editline from LLDB: stella.stamenova, amccarth.

No idea about how/if this is used, but I think Stella or Adrian are the ones that might be able to answer this.

May 11 2021, 3:29 AM · Restricted Project, Restricted Project

May 10 2021

teemperor accepted D101539: Add null-pointer checks when accessing a TypeSystem's SymbolFile.

LGTM, just some nits and please address the clang-format issue.

May 10 2021, 1:42 PM · Restricted Project

May 7 2021

teemperor added a comment to D102092: [lldb] Enable -Wmisleading-indentation.

I think some people are already building with this warning + -Werror so this should be fine (Apparently that list of people includes me and Stella as I fixed a warning that broke the build in https://reviews.llvm.org/D99694#2671667 )

May 7 2021, 2:44 PM · Restricted Project, Restricted Project

May 6 2021

teemperor added a comment to D101950: [lldb][WIP] Use forward decls with redeclared definitions instead of minimal import for records.

Just to clarify because Jan abandoned the linked ASTImporter patch: I don't have a timeline for this. If I find the time to work on this then this might land quite soon or maybe it will only land in a few months. Or I'll run into something serious that just won't work with this approach and we have to abandon this.

May 6 2021, 8:31 AM · Restricted Project
teemperor added a comment to D101236: [ASTImporter] Import definitions required for layout of [[no_unique_address]] from LLDB.

Just to be clear, I am not sure when/if D101950 is ready. It's mostly blocked by me not having the time to work on it, so depending how my schedule is this might land soon or far in the future. Just linked it here as this (temporary) workaround would be on the list of things I would revert when D101950 lands. But in the meantime I'm ok with this workaround patch as I said above.

May 6 2021, 8:29 AM · Restricted Project, Restricted Project
teemperor updated the diff for D101950: [lldb][WIP] Use forward decls with redeclared definitions instead of minimal import for records.
  • Add a second DIEtoX map from DIEs to records (and their definitions once we have them).
  • Avoid some calls that try to find the 'interesting' TagDecl redeclaration.
May 6 2021, 7:07 AM · Restricted Project
teemperor committed rG3026f75ed0f5: [lldb][NFC] Make assert in TestStaticVariables more expressive (authored by teemperor).
[lldb][NFC] Make assert in TestStaticVariables more expressive
May 6 2021, 7:00 AM

May 5 2021

teemperor added a comment to D101236: [ASTImporter] Import definitions required for layout of [[no_unique_address]] from LLDB.

By the way, I set up a WIP patch for changing LLDB's import away from the current MinimalImport of records to something that is more in line with how Clang works: https://reviews.llvm.org/D101950

May 5 2021, 3:54 PM · Restricted Project, Restricted Project
teemperor updated the summary of D101950: [lldb][WIP] Use forward decls with redeclared definitions instead of minimal import for records.
May 5 2021, 3:29 PM · Restricted Project
teemperor updated the summary of D101950: [lldb][WIP] Use forward decls with redeclared definitions instead of minimal import for records.
May 5 2021, 3:28 PM · Restricted Project
teemperor requested review of D101950: [lldb][WIP] Use forward decls with redeclared definitions instead of minimal import for records.
May 5 2021, 3:20 PM · Restricted Project

May 4 2021

teemperor added a comment to D96033: [clang-repl] Land initial infrastructure for incremental parsing.

(Obviously this should still wait on Richard & John as I think they still have unaddressed objections)

May 4 2021, 5:24 AM · Restricted Project
teemperor accepted D96033: [clang-repl] Land initial infrastructure for incremental parsing.

I believe everything I pointed out so far has been resolved. I still have one more nit about the unit test though (just to not make it fail on some Windows setups).

May 4 2021, 5:23 AM · Restricted Project

Apr 30 2021

teemperor added a comment to D101627: [lldb] More tests for DumpDataExtractor.

FWIW, I think the idea was for LLVM to actually move to LLDB's function naming, so our life will soon(TM) be easier when/if that happens.

Apr 30 2021, 9:55 AM · Restricted Project
teemperor added a comment to D101627: [lldb] More tests for DumpDataExtractor.

Jepp, they are capitalized :)

Apr 30 2021, 8:52 AM · Restricted Project
teemperor added inline comments to D101627: [lldb] More tests for DumpDataExtractor.
Apr 30 2021, 8:26 AM · Restricted Project
teemperor added a comment to D101627: [lldb] More tests for DumpDataExtractor.

The_underscore_style_for_functions isn't LLDB (or LLVM) code style. I missed that in the first review. So just rename the utility functions to TestDumpMultiline and so on and this LGTM. I'm just going to accept this as renaming the variables shouldn't need another review.

I take it that LLDB is also following the variable naming style then? At least for new code, older code like what this is testing doesn't.

Apr 30 2021, 8:25 AM · Restricted Project
teemperor accepted D101631: [lldb] DumpDataExtractor tests for item byte size errors.

LGTM, thanks for writing these. Please check the code style remark in D101627 before merging this (you also need to change the functions here obviously)

Apr 30 2021, 7:32 AM · Restricted Project
teemperor accepted D101627: [lldb] More tests for DumpDataExtractor.

The_underscore_style_for_functions isn't LLDB (or LLVM) code style. I missed that in the first review. So just rename the utility functions to TestDumpMultiline and so on and this LGTM. I'm just going to accept this as renaming the variables shouldn't need another review.

Apr 30 2021, 7:27 AM · Restricted Project
teemperor added a comment to D101237: [lldb] Fix [[no_unique_address]] and libstdc++ 11's std::unique_ptr.

(and it could tell clang exactly how large the structure is too - from the DWARF)

Apr 30 2021, 5:23 AM · Restricted Project, Restricted Project, Restricted Project
teemperor updated the diff for D101153: [lldb][NFC] Specify guidelines for API tests.
  • Addressed Diana's comments (thanks!)
Apr 30 2021, 3:53 AM · Restricted Project
teemperor requested changes to D98653: [lldb] Refactor variable paths to support languages with non-pointer "this" (NFC).

(Just pushing this back into Dave's review queue)

Apr 30 2021, 3:42 AM · Restricted Project
teemperor committed rGfd89af6880f3: Wrap edit line configuration calls into helper functions (authored by nealsid).
Wrap edit line configuration calls into helper functions
Apr 30 2021, 3:33 AM
teemperor closed D101250: Wrap edit line configuration calls into helper functions.
Apr 30 2021, 3:33 AM · Restricted Project
teemperor accepted D101556: [lldb] Move and clean-up the Declaration class (NFC).

IIRC they were #ifdef's out because of memory concerns. Did you have a chance to benchmark this quickly (e.g., trying to attach to a debug Clang and see how much it increases memory)

Otherwise this LGTM.

FWIW, we also need this for the SourceLocation in Clang Decls feature I was working on some time ago.

I ran a benchmark as you suggested, attaching to a debug clang build, checking lldb's memory before starting the process (650MB), setting a breakpoint to main then launching the process (~1GB), and after the process stops, I tried evaluating the following expression : (lldb) expr std::string("This is a string.", 4) (4.83GB) and the memory usage matched in both scenarios.

Apr 30 2021, 3:27 AM · Restricted Project
teemperor added a comment to D101585: [lldb] Ensure SBStructuredData::m_impl_up is always non-null.

LGTM. I'm going to be that guy and ask if you could test this (there is an API unittest directory with an example test, so copying that and just exercising the nullptr SBStructuredData is good enough).

Apr 30 2021, 2:56 AM · Restricted Project
teemperor added a comment to D101539: Add null-pointer checks when accessing a TypeSystem's SymbolFile.

TypeSystemClang can be unit-tested just fine these days. It should also be possible to test Type (You can just model a random 'int' type from a TypeSystemClang instance).

Apr 30 2021, 1:48 AM · Restricted Project

Apr 29 2021

teemperor added a comment to D101556: [lldb] Move and clean-up the Declaration class (NFC).

IIRC they were #ifdef's out because of memory concerns. Did you have a chance to benchmark this quickly (e.g., trying to attach to a debug Clang and see how much it increases memory)

Apr 29 2021, 11:47 AM · Restricted Project
teemperor committed rGa76df78470d7: [lldb] Make the NSSet formatter faster and less prone to infinite recursion (authored by teemperor).
[lldb] Make the NSSet formatter faster and less prone to infinite recursion
Apr 29 2021, 10:14 AM
teemperor closed D101537: [lldb] Make the NSSet formatter faster and less prone to infinite recursion.
Apr 29 2021, 10:14 AM · Restricted Project
teemperor updated the diff for D101537: [lldb] Make the NSSet formatter faster and less prone to infinite recursion.
  • Made both ValueAsUnsigned which is what the other formatters use.
Apr 29 2021, 10:12 AM · Restricted Project