| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Use llvm::byteswap instead of ByteSwap_{16,32,64} (NFC) | 3 年前 | |
[feature] simd上支持断点类型识别问题 Co-authored-by: wangyixian<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !165 merge fix_bt into master [feature] simd上支持断点类型识别问题 Created-by: wiyr0 Commit-by: wiyr0;wangyixian Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** simd_vf上的函数都是inlined行为,不能直接通过函数类型去识别 - **修改方案:** 通过pc对应的block块,为每个block设置函数类型,若当前block没有函数类型信息,则通过父节点寻找 - **修改内容:** 为lldb/include/lldb/Symbol/Block.h里的Block类增加m_function_class字段;SymbolFileDWARF::ParseBlocksRecursive函数里为Block 设置函数类型。 - [ ] **涉及代码双合**(贴上另一个PR链接):NA ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息) - [x] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** NA - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** NA ---- ### 4. 资料修改自检 - **资料修改:** NA ---- See merge request: Ascend/msdebug!165 | 2 个月前 | |
[LLDB][SaveCore] Add SBSaveCoreOptions Object, and SBProcess::SaveCore() overload (#98403) This PR adds SBSaveCoreOptions, which is a container class for options when LLDB is taking coredumps. For this first iteration this container just keeps parity with the extant API of file, style, plugin. In the future this options object can be extended to allow users to take a subset of their core dumps. | 2 年前 | |
Use llvm::count{lr}_{zero,one} (NFC) | 3 年前 | |
| 2 年前 | ||
[lldb] Add SB API to access static constexpr member values (#89730) The main change is the addition of a new SBTypeStaticField class, representing a static member of a class. It can be retrieved created through SBType::GetStaticFieldWithName. It contains several methods (GetName, GetMangledName, etc.) whose meaning is hopefully obvious. The most interesting method is lldb::SBValue GetConstantValue(lldb::SBTarget) which returns a the value of the field -- if it is a compile time constant. The reason for that is that only constants have their values represented in the clang AST. For non-constants, we need to go back to the module containing that constant, and ask retrieve the associated ValueObjectVariable. That's easy enough if the we are still in the type system of the module (because then the type system will contain the pointer to the module symbol file), but it's hard when the type has been copied into another AST (e.g. during expression evaluation). To do that we would need to walk the ast import chain backwards to find the source TypeSystem, and I haven't found a nice way to do that. Another possibility would be to use the mangled name of the variable to perform a lookup (in all modules). That is sort of what happens when evaluating the variable in an expression (which does work), but I did not want to commit to that implementation as it's not necessary for my use case (and if anyone wants to, he can use the GetMangledName function and perform the lookup manually). The patch adds a couple of new TypeSystem functions to surface the information needed to implement this functionality. | 2 年前 | |
[lldb] Make only one function that needs to be implemented when searching for types (#74786) This patch revives the effort to get this Phabricator patch into upstream: https://reviews.llvm.org/D137900 This patch was accepted before in Phabricator but I found some -gsimple-template-names issues that are fixed in this patch. A fixed up version of the description from the original patch starts now. This patch started off trying to fix Module::FindFirstType() as it sometimes didn't work. The issue was the SymbolFile plug-ins didn't do any filtering of the matching types they produced, and they only looked up types using the type basename. This means if you have two types with the same basename, your type lookup can fail when only looking up a single type. We would ask the Module::FindFirstType to lookup "Foo::Bar" and it would ask the symbol file to find only 1 type matching the basename "Bar", and then we would filter out any matches that didn't match "Foo::Bar". So if the SymbolFile found "Foo::Bar" first, then it would work, but if it found "Baz::Bar" first, it would return only that type and it would be filtered out. Discovering this issue lead me to think of the patch Alex Langford did a few months ago that was done for finding functions, where he allowed SymbolFile objects to make sure something fully matched before parsing the debug information into an AST type and other LLDB types. So this patch aimed to allow type lookups to also be much more efficient. As LLDB has been developed over the years, we added more ways to to type lookups. These functions have lots of arguments. This patch aims to make one API that needs to be implemented that serves all previous lookups: - Find a single type - Find all types - Find types in a namespace This patch introduces a TypeQuery class that contains all of the state needed to perform the lookup which is powerful enough to perform all of the type searches that used to be in our API. It contain a vector of CompilerContext objects that can fully or partially specify the lookup that needs to take place. If you just want to lookup all types with a matching basename, regardless of the containing context, you can specify just a single CompilerContext entry that has a name and a CompilerContextKind mask of CompilerContextKind::AnyType. Or you can fully specify the exact context to use when doing lookups like: CompilerContextKind::Namespace "std" CompilerContextKind::Class "foo" CompilerContextKind::Typedef "size_type" This change expands on the clang modules code that already used a vector<CompilerContext> items, but it modifies it to work with expression type lookups which have contexts, or user lookups where users query for types. The clang modules type lookup is still an option that can be enabled on the TypeQuery objects. This mirrors the most recent addition of type lookups that took a vector<CompilerContext> that allowed lookups to happen for the expression parser in certain places. Prior to this we had the following APIs in Module: void Module::FindTypes(ConstString type_name, bool exact_match, size_t max_matches, llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files, TypeList &types); void Module::FindTypes(llvm::ArrayRef<CompilerContext> pattern, LanguageSet languages, llvm::DenseSet<lldb_private::SymbolFile *> &searched_symbol_files, TypeMap &types); void Module::FindTypesInNamespace(ConstString type_name, const CompilerDeclContext &parent_decl_ctx, size_t max_matches, TypeList &type_list); The new Module API is much simpler. It gets rid of all three above functions and replaces them with: void FindTypes(const TypeQuery &query, TypeResults &results); The TypeQuery class contains all of the needed settings: - The vector<CompilerContext> that allow efficient lookups in the symbol file classes since they can look at basename matches only realize fully matching types. Before this any basename that matched was fully realized only to be removed later by code outside of the SymbolFile layer which could cause many types to be realized when they didn't need to. - If the lookup is exact or not. If not exact, then the compiler context must match the bottom most items that match the compiler context, otherwise it must match exactly - If the compiler context match is for clang modules or not. Clang modules matches include a Module compiler context kind that allows types to be matched only from certain modules and these matches are not needed when d oing user type lookups. - An optional list of languages to use to limit the search to only certain languages The TypeResults object contains all state required to do the lookup and store the results: - The max number of matches - The set of SymbolFile objects that have already been searched - The matching type list for any matches that are found The benefits of this approach are: - Simpler API, and only one API to implement in SymbolFile classes - Replaces the FindTypesInNamespace that used a CompilerDeclContext as a way to limit the search, but this only worked if the TypeSystem matched the current symbol file's type system, so you couldn't use it to lookup a type in another module - Fixes a serious bug in our FindFirstType functions where if we were searching for "foo::bar", and we found a "baz::bar" first, the basename would match and we would only fetch 1 type using the basename, only to drop it from the matching list and returning no results | 2 年前 | |
added all modifications made for msdebug | 7 个月前 | |
[lldb] Remove LLVM_PRETTY_FUNCTION from LLDB_SCOPED_TIMERF The macro already uses LLVM_PRETTY_FUNCTION as the timer category, so there's no point in duplicating it in the timer message. | 2 年前 | |
[lldb][NFC] Fix all formatting errors in .cpp file headers Summary: A *.cpp file header in LLDB (and in LLDB) should like this: //===-- TestUtilities.cpp -------------------------------------------------===// However in LLDB most of our source files have arbitrary changes to this format and these changes are spreading through LLDB as folks usually just use the existing source files as templates for their new files (most notably the unnecessary editor language indicator -*- C++ -*- is spreading and in every review someone is pointing out that this is wrong, resulting in people pointing out that this is done in the same way in other files). This patch removes most of these inconsistencies including the editor language indicators, all the different missing/additional '-' characters, files that center the file name, missing trailing ===// (mostly caused by clang-format breaking the line). Reviewers: aprantl, espindola, jfb, shafik, JDevlieghere Reviewed By: JDevlieghere Subscribers: dexonsmith, wuzish, emaste, sdardis, nemanjai, kbarton, MaskRay, atanasyan, arphaman, jfb, abidh, jsji, JDevlieghere, usaxena95, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D73258 | 6 年前 | |
[lldb][NFC] Remove outdated FIXME | 4 年前 | |
[lldb] Replace default bodies of special member functions with = default; Replace default bodies of special member functions with = default; $ run-clang-tidy.py -header-filter='lldb' -checks='-*,modernize-use-equals-default' -fix , https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html Differential revision: https://reviews.llvm.org/D104041 | 5 年前 | |
[feature]根据断点位置自动下发软硬断点 Co-authored-by: wangyixian<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !130 merge fix_breapoint into master [feature]根据断点位置自动下发软硬断点 Created-by: wiyr0 Commit-by: wangyixian Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 1. 当前simd_vf, simt_vf上只支持硬断点设置,用户需要自己识别并修改断点设置参数,本mr用于自动识别断点位置是否处于simt_vf, simd_vf来 2. 当前断点ID会由于多个相同的kernel object递增,这里做了删除操作。 - **修改方案:** 编译器提供每个函数的类型信息,simd/simt等,msdebug解析出pc所在的函数类型信息。具体地:在Function类里增加function_class字段,表示函数类型信息;在设置断点的时候,获取pc的SymbolContext里的function类型,识别出是simt/simd函数类型后,修改断点类型。 - **修改内容:** 1. lldb/include/lldb/Symbol/Function.h 里的Function类里增加function_class字段,每个bit有自己的语义,和编译器对齐 2. 增加SymbolContext的判断在Breakpoint::AddLocation函数里,这个位置属于比较底层了,函数名/文件名行号/地址,断点解析后都会走到这里 3. 增加函数将NotifyModuleUpdated能力释放出来,使用新的module替换老的module, 这样当用户没跑算子时,工具识别到的断点和运行后工具产生的断点能够合并。因为后者才是真正的断点 - [ ] **涉及代码双合**(贴上另一个PR链接):NA ---- ### 2. 功能验证 - [ ] **功能自验截图**(请确保不体现个人信息)  - [ ] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** NA - [ ] **是否需要在sig会议中进行代码检视** NA - **检视committer人员名单与检视时间:** ---- ### 4. 资料修改自检 - **资料修改:** NA ---- See merge request: Ascend/msdebug!130 | 3 个月前 | |
[lldb] Make semantics of SupportFile equivalence explicit (#97126) This is an improved attempt to improve the semantics of SupportFile equivalence, taking into account the feedback from #95606. Pavel's comment about the lack of a concise name because the concept isn't trivial made me realize that I don't want to abstract this concept away behind a helper function. Instead, I opted for a rather verbose enum that forces the caller to consider exactly what kind of comparison is appropriate for every call. | 2 年前 | |
[lldb] Make semantics of SupportFile equivalence explicit (#97126) This is an improved attempt to improve the semantics of SupportFile equivalence, taking into account the feedback from #95606. Pavel's comment about the lack of a concise name because the concept isn't trivial made me realize that I don't want to abstract this concept away behind a helper function. Instead, I opted for a rather verbose enum that forces the caller to consider exactly what kind of comparison is appropriate for every call. | 2 年前 | |
[lldb] Teach LLDB about Mach-O filesets This patch teaches LLDB about Mach-O filesets. Filsets are Mach-O files that contain a bunch of other Mach-O files. Unlike universal binaries, which have a different header, Filesets use load commands to describe the different entries it contains. Differential revision: https://reviews.llvm.org/D132433 | 3 年前 | |
【feature】support multi kernel object Co-authored-by: wangyixian<wangyixian3@huawei.com> # message auto-generated for no-merge-commit merge: !12 merge support_multiple_kernel into master 【feature】support multi kernel object Created-by: wiyr0 Commit-by: wangyixian Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 支持asc场景下,多kernel合并在一个二进制aicore_binary段里的调试能力 - **修改方案:** 工具通过劫持runtime注册二进制的函数获取kernel object。在每次算子kernel launch前,把kernel object发送到工具侧进行断点匹配和下发断点。具体地: 1. 工具client侧设置内部断点,内部断点需要在kernelLaunch之前,发送kernel object之后,并为断点设置callback函数 2. runtime_stub模块里的SendKernelInfo函数会在劫持KernelLaunch系列接口里被调用,把kernel.o, base_pc, kernel_name等信息都发送给lldb-server侧。 3. 当断点触发的时候,就执行callback函数里的获取kernel.o等信息,下发断点等动作。 - **修改内容:** 1. lldb/tools/msdebug/runtime_stub.cpp : 1.1 定义一个MSBreakOnLaunch函数作为内部断点位置放在SendKernelInfo的尾部 1.2 BinaryRegisterPost里保存注册成功后的kernel.o 1.3 SendKernelInfo里新增kernel.o二进制的数据发送,这里保持和lldb一样的通信协议,直接转义用 #结尾表示数据结束 2. lldb/source/Plugins/Process/Linux/AscendProcessLinux.cpp: 2.1 去掉kernel_hash匹配和base_pc的相关逻辑 2.2 增加接收kernel.o的处理,增加转义逻辑 2.3 提供返回kernel.o给lldb-client侧的接口:AscendProcessLinux::ConsumeKernelBinary 3. lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication* 3.1 提供新消息类型'qDeviceBinaryInfo',用于client侧从lldb-server获取kernel.o 4. lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp 4.1 DynamicLoaderPOSIXDYLD::SetRendezvousKernelLaunchBreakpoint 设置内部断点和callback 4.2 DynamicLoaderPOSIXDYLD::RendezvousKernelLaunchBreakpointHit 为内部断点的callback函数,从lldb-server获取kernel.o - [ ] **涉及代码双合**(贴上另一个PR链接): 不涉及 ---- ### 2. 功能验证 - [x] **功能自验截图**(请确保不体现个人信息)  - [x] **冒烟是否通过**  ---- ### 3. 代码检视 - **要求:** - 合入功能代码大于 200 行,需要sig会议申报代码检视议题,并在PR中标注会议。 - committer评估是否需要在sig会议进行代码检视。 - 参与检视的committer人员名单与检视时间。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** - [ ] **是否需要在sig会议中进行代码检视** - **检视committer人员名单与检视时间:** gongsiwei, 2026.01.26 19:00 ---- ### 4. 资料修改自检 - **资料修改:** 不涉及 ---- See merge request: Ascend/msdebug!12 | 6 个月前 | |
[lldb] Use std::optional instead of llvm::Optional (NFC) This patch replaces (llvm::|)Optional< with std::optional<. I'll post a separate patch to clean up the "using" declarations, #include "llvm/ADT/Optional.h", etc. 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 | 3 年前 | |
[LLDB][SaveCore] Add SBSaveCoreOptions Object, and SBProcess::SaveCore() overload (#98403) This PR adds SBSaveCoreOptions, which is a container class for options when LLDB is taking coredumps. For this first iteration this container just keeps parity with the extant API of file, style, plugin. In the future this options object can be extended to allow users to take a subset of their core dumps. | 2 年前 | |
Add a createError variant without error code (NFC) (#93209) For the significant amount of call sites that want to create an incontrovertible error, such a wrapper function creates a significant readability improvement and lowers the cost of entry to add error handling in more places. | 2 年前 | |
[lldb] Display breakpoint locations using display name (#90297) Adds a show_function_display_name parameter to SymbolContext::DumpStopContext. This parameter defaults to false, but BreakpointLocation::GetDescription sets it to true. This is NFC in mainline lldb, and will be used to modify how Swift breakpoint locations are printed. | 2 年前 | |
[Reland] Report only loaded debug info in statistics dump (#81706) (#82207) Updates: - The previous patch changed the default behavior to not load dwos in DWARFUnit ~~SymbolFileDWARFDwo *GetDwoSymbolFile(bool load_all_debug_info = false);~~ SymbolFileDWARFDwo *GetDwoSymbolFile(bool load_all_debug_info = true); - This broke some lldb-shell tests (see https://green.lab.llvm.org/green/view/LLDB/job/as-lldb-cmake/16273/) - TestDebugInfoSize.py - with symbol on-demand, by default statistics dump only reports skeleton debug info size - statistics dump -f will load all dwos. debug info = skeleton debug info + all dwo debug info Currently running statistics dump will trigger lldb to load debug info that's not yet loaded (eg. dwo files). Resulted in a delay in the command return, which, can be interrupting. This patch also added a new option --load-all-debug-info asking statistics to dump all possible debug info, which will force loading all debug info available if not yet loaded. | 2 年前 | |
Add a createError variant without error code (NFC) (#93209) For the significant amount of call sites that want to create an incontrovertible error, such a wrapper function creates a significant readability improvement and lowers the cost of entry to add error handling in more places. | 2 年前 | |
[lldb] Expand background symbol download (#80890) LLDB has a setting (symbols.enable-background-lookup) that calls dsymForUUID on a background thread for images as they appear in the current backtrace. Originally, the laziness of only looking up symbols for images in the backtrace only existed to bring the number of dsymForUUID calls down to a manageable number. Users have requesting the same functionality but blocking. This gives them the same user experience as enabling dsymForUUID globally, but without the massive upfront cost of having to download all the images, the majority of which they'll likely not need. This patch renames the setting to have a more generic name (symbols.auto-download) and changes its values from a boolean to an enum. Users can now specify "off", "background" and "foreground". The default remains "off" although I'll probably change that in the near future. | 2 年前 | |
[lldb] Return StringRef from PluginInterface::GetPluginName There is no reason why this function should be returning a ConstString. While modifying these files, I also fixed several instances where GetPluginName and GetPluginNameStatic were returning different strings. I am not changing the return type of GetPluginNameStatic in this patch, as that would necessitate additional changes, and this patch is big enough as it is. Differential Revision: https://reviews.llvm.org/D111877 | 4 年前 | |
[lldb] Fix build break on windows (#84863) This is a one line fix for a Windows specific (I believe) build break. The build failure looks like this: D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): error C2440: '<function-style-cast>': cannot convert from 'lldb_private::ConstString' to 'llvm::StringRef' D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): note: 'llvm::StringRef::StringRef': ambiguous call to overloaded function D:\a\_work\1\s\llvm\include\llvm/ADT/StringRef.h(840): note: could be 'llvm::StringRef::StringRef(llvm::StringRef &&)' D:\a\_work\1\s\llvm\include\llvm/ADT/StringRef.h(104): note: or 'llvm::StringRef::StringRef(std::string_view)' D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): note: while trying to match the argument list '(lldb_private::ConstString)' D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): error C2672: 'std::multimap<llvm::StringRef,const lldb_private::Symbol *,std::less<llvm::StringRef>,std::allocator<std::pair<const llvm::StringRef,const lldb_private::Symbol *>>>::emplace': no matching overloaded function found C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\include\map(557): note: could be 'std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const llvm::StringRef,const lldb_private::Symbol *>>>> std::multimap<llvm::StringRef,const lldb_private::Symbol *,std::less<llvm::StringRef>,std::allocator<std::pair<const llvm::StringRef,const lldb_private::Symbol *>>>::emplace(_Valty &&...)' The StringRef constructor here is intended to take a ConstString object, which I assume is implicitly converted to a std::string_view by compilers other than Visual Studio's. To fix the VS build I made the StringRef initialization more explicit, as you can see in the diff. | 2 年前 | |
added all modifications made for msdebug | 7 个月前 | |
[lldb] Improve type name parsing (#91586) Parsing of '::' scopes in TypeQuery was very naive and failed for names with '::''s in template arguments. Interestingly, one of the functions it was calling (Type::GetTypeScopeAndBasename) was already doing the same thing, and getting it (mostly (*)) right. This refactors the function so that it can return the scope results, fixing the parsing of names like std::vector<int, std::allocator<int>>::iterator. Two callers of GetTypeScopeAndBasename are deleted as the functions are not used (I presume they stopped being used once we started pruning type search results more eagerly). (*) This implementation is still not correct when one takes c++ operators into account -- e.g., something like X<&A::operator<>::T is a legitimate type name. We do have an implementation that is able to handle names like these (CPlusPlusLanguage::MethodName), but using it is not trivial, because it is hidden in a language plugin and specific to method name parsing. --------- Co-authored-by: Michael Buch <michaelbuch12@gmail.com> | 2 年前 | |
[lldb] Improve type name parsing (#91586) Parsing of '::' scopes in TypeQuery was very naive and failed for names with '::''s in template arguments. Interestingly, one of the functions it was calling (Type::GetTypeScopeAndBasename) was already doing the same thing, and getting it (mostly (*)) right. This refactors the function so that it can return the scope results, fixing the parsing of names like std::vector<int, std::allocator<int>>::iterator. Two callers of GetTypeScopeAndBasename are deleted as the functions are not used (I presume they stopped being used once we started pruning type search results more eagerly). (*) This implementation is still not correct when one takes c++ operators into account -- e.g., something like X<&A::operator<>::T is a legitimate type name. We do have an implementation that is able to handle names like these (CPlusPlusLanguage::MethodName), but using it is not trivial, because it is hidden in a language plugin and specific to method name parsing. --------- Co-authored-by: Michael Buch <michaelbuch12@gmail.com> | 2 年前 | |
added all modifications made for msdebug | 7 个月前 | |
Move from llvm::makeArrayRef to ArrayRef deduction guides - last part This is a follow-up to https://reviews.llvm.org/D140896, split into several parts as it touches a lot of files. Differential Revision: https://reviews.llvm.org/D141298 | 3 年前 | |
[lldb] Revive shell test after updating UnwindTable (#86770) In commit 2f63718f8567413a1c596bda803663eb58d6da5a Author: Jason Molenda <jmolenda@apple.com> Date: Tue Mar 26 09:07:15 2024 -0700 [lldb] Don't clear a Module's UnwindTable when adding a SymbolFile (#86603) I stopped clearing a Module's UnwindTable when we add a SymbolFile to avoid the memory management problems with adding a symbol file asynchronously while the UnwindTable is being accessed on another thread. This broke the target-symbols-add-unwind.test shell test on Linux which removes the DWARF debub_frame section from a binary, loads it, then loads the unstripped binary with the DWARF debug_frame section and checks that the UnwindPlans for a function include debug_frame. I originally decided that I was willing to sacrifice the possiblity of additional unwind sources from a symbol file because we rely on assembly emulation so heavily, they're rarely critical. But there are targets where we we don't have emluation and rely on things like DWARF debug_frame a lot more, so this probably wasn't a good choice. This patch adds a new UnwindTable::Update method which looks for any new sources of unwind information and adds it to the UnwindTable, and calls that after a new SymbolFile has been added to a Module. | 2 年前 | |
Change GetNumChildren()/CalculateNumChildren() methods return llvm::Expected (#84219) Change GetNumChildren()/CalculateNumChildren() methods return llvm::Expected This is an NFC change that does not yet add any error handling or change any code to return any errors. This is the second big change in the patch series started with https://github.com/llvm/llvm-project/pull/83501 A follow-up PR will wire up error handling. | 2 年前 | |
[lldb] Replace default bodies of special member functions with = default; Replace default bodies of special member functions with = default; $ run-clang-tidy.py -header-filter='lldb' -checks='-*,modernize-use-equals-default' -fix , https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-equals-default.html Differential revision: https://reviews.llvm.org/D104041 | 5 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 2 年前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 3 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 | ||
| 6 个月前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 5 年前 |