|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, 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, 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, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, 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 |
|
| #
e188aae4 |
| 31-Jan-2022 |
serge-sans-paille <[email protected]> |
Cleanup header dependencies in LLVMCore
Based on the output of include-what-you-use.
This is a big chunk of changes. It is very likely to break downstream code unless they took a lot of care in avo
Cleanup header dependencies in LLVMCore
Based on the output of include-what-you-use.
This is a big chunk of changes. It is very likely to break downstream code unless they took a lot of care in avoiding hidden ehader dependencies, something the LLVM codebase doesn't do that well :-/
I've tried to summarize the biggest change below:
- llvm/include/llvm-c/Core.h: no longer includes llvm-c/ErrorHandling.h - llvm/IR/DIBuilder.h no longer includes llvm/IR/DebugInfo.h - llvm/IR/IRBuilder.h no longer includes llvm/IR/IntrinsicInst.h - llvm/IR/LLVMRemarkStreamer.h no longer includes llvm/Support/ToolOutputFile.h - llvm/IR/LegacyPassManager.h no longer include llvm/Pass.h - llvm/IR/Type.h no longer includes llvm/ADT/SmallPtrSet.h - llvm/IR/PassManager.h no longer includes llvm/Pass.h nor llvm/Support/Debug.h
And the usual count of preprocessed lines: $ clang++ -E -Iinclude -I../llvm/include ../llvm/lib/IR/*.cpp -std=c++14 -fno-rtti -fno-exceptions | wc -l before: 6400831 after: 6189948
200k lines less to process is no that bad ;-)
Discourse thread on the topic: https://llvm.discourse.group/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D118652
show more ...
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
ec501f15 |
| 27-Dec-2021 |
Shao-Ce SUN <[email protected]> |
[clang][CodeGen] Remove the signed version of createExpression
Fix a TODO. Remove the callers of this signed version and delete.
Reviewed By: CodaFi
Differential Revision: https://reviews.llvm.org
[clang][CodeGen] Remove the signed version of createExpression
Fix a TODO. Remove the callers of this signed version and delete.
Reviewed By: CodaFi
Differential Revision: https://reviews.llvm.org/D116014
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
87e53a0a |
| 06-Nov-2021 |
Kazu Hirata <[email protected]> |
[llvm] Use make_early_inc_range (NFC)
|
| #
16661b1a |
| 01-Oct-2021 |
Koutheir Attouchi <[email protected]> |
Expose `DIBuilder::finalizeSubprogram()` through the LLVM C API
The LLVM C API function is called `LLVMDIBuilderFinalizeSubprogram()`.
Reviewed By: CodaFi
Differential Revision: https://reviews.ll
Expose `DIBuilder::finalizeSubprogram()` through the LLVM C API
The LLVM C API function is called `LLVMDIBuilderFinalizeSubprogram()`.
Reviewed By: CodaFi
Differential Revision: https://reviews.llvm.org/D104794
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
a5b72abc |
| 07-Sep-2021 |
Alok Kumar Sharma <[email protected]> |
[DebugInfo] Enhance DIImportedEntity to accept children entities
New field `elements` is added to '!DIImportedEntity', representing list of aliased entities. This is needed to dump optimized debuggi
[DebugInfo] Enhance DIImportedEntity to accept children entities
New field `elements` is added to '!DIImportedEntity', representing list of aliased entities. This is needed to dump optimized debugging information where all names in a module are imported, but a few names are imported with overriding aliases.
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D109343
show more ...
|
|
Revision tags: 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 |
|
| #
fcfaed4a |
| 02-Jun-2021 |
Adrian Prantl <[email protected]> |
Remove redundant comparisons (NFC)
|
| #
f3869a5c |
| 27-May-2021 |
Adrian Prantl <[email protected]> |
Support stripping indirectly referenced DILocations from !llvm.loop metadata
in stripDebugInfo(). This patch fixes an oversight in https://reviews.llvm.org/D96181 and also takes into account loop m
Support stripping indirectly referenced DILocations from !llvm.loop metadata
in stripDebugInfo(). This patch fixes an oversight in https://reviews.llvm.org/D96181 and also takes into account loop metadata pointing to other MDNodes that point into the debug info.
rdar://78487175
Differential Revision: https://reviews.llvm.org/D103220
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc1 |
|
| #
0ebf9a8e |
| 19-Apr-2021 |
OCHyams <[email protected]> |
[DebugInfo] Move the findDbg* functions into DebugInfo.cpp
Move the findDbg* functions into lib/IR/DebugInfo.cpp from lib/Transforms/Utils/Local.cpp.
D99169 adds a call to a function (findDbgUsers)
[DebugInfo] Move the findDbg* functions into DebugInfo.cpp
Move the findDbg* functions into lib/IR/DebugInfo.cpp from lib/Transforms/Utils/Local.cpp.
D99169 adds a call to a function (findDbgUsers) that lives in lib/Transforms/Utils/Local.cpp (LLVMTransformUtils) from lib/IR/Value.cpp (LLVMCore). The Core lib doesn't include TransformUtils. The builtbots caught this here: https://lab.llvm.org/buildbot/#/builders/109/builds/12664. This patch moves the function, and the 3 similar ones for consistency, into DebugInfo.cpp which is part of LLVMCore.
Reviewed By: dblaikie, rnk
Differential Revision: https://reviews.llvm.org/D100632
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
c3a18bb1 |
| 15-Mar-2021 |
Adrian Prantl <[email protected]> |
Support !heapallocsite attachments in StripDebugInfo().
They point into the DIType type system, so they need to be stripped as well.
rdar://75341300
Differential Revision: https://reviews.llvm.org
Support !heapallocsite attachments in StripDebugInfo().
They point into the DIType type system, so they need to be stripped as well.
rdar://75341300
Differential Revision: https://reviews.llvm.org/D98668
show more ...
|
| #
b04c87e0 |
| 15-Mar-2021 |
Adrian Prantl <[email protected]> |
Support !heapallocsite attachments in stripNonLineTableDebugInfo().
They point into the DIType type system, so they need to be stripped as well.
rdar://75341300
Differential Revision: https://revi
Support !heapallocsite attachments in stripNonLineTableDebugInfo().
They point into the DIType type system, so they need to be stripped as well.
rdar://75341300
Differential Revision: https://reviews.llvm.org/D98667
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
b4bed1cb |
| 28-Feb-2021 |
Kazu Hirata <[email protected]> |
[IR] Use range-based for loops (NFC)
|
|
Revision tags: llvmorg-12.0.0-rc2 |
|
| #
79f46a30 |
| 05-Feb-2021 |
Adrian Prantl <[email protected]> |
Have stripDebugInfo() also strip !llvm.loop annotations from all instructions.
The !llvm.loop annotations consist of pointers into the debug info, so when stripping the debug info (particularly impo
Have stripDebugInfo() also strip !llvm.loop annotations from all instructions.
The !llvm.loop annotations consist of pointers into the debug info, so when stripping the debug info (particularly important when it is malformed!) !llvm.loop annotations need to be stripped as well, or else the malformed debug info stays around. This patch applies the stripping to all instructions, not just terminator instructions.
rdar://73687049
Differential Revision: https://reviews.llvm.org/D96181
show more ...
|
|
Revision tags: 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 |
|
| #
b5ad32ef |
| 11-Dec-2020 |
Fangrui Song <[email protected]> |
Migrate deprecated DebugLoc::get to DILocation::get
This migrates all LLVM (except Kaleidoscope and CodeGen/StackProtector.cpp) DebugLoc::get to DILocation::get.
The CodeGen/StackProtector.cpp usag
Migrate deprecated DebugLoc::get to DILocation::get
This migrates all LLVM (except Kaleidoscope and CodeGen/StackProtector.cpp) DebugLoc::get to DILocation::get.
The CodeGen/StackProtector.cpp usage may have a nullptr Scope and can trigger an assertion failure, so I don't migrate it.
Reviewed By: #debug-info, dblaikie
Differential Revision: https://reviews.llvm.org/D93087
show more ...
|
|
Revision tags: 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 |
|
| #
dfc5a9eb |
| 08-Sep-2020 |
Vedant Kumar <[email protected]> |
[Instruction] Add dropLocation and updateLocationAfterHoist helpers
Introduce a helper which can be used to update the debug location of an Instruction after the instruction is hoisted. This can be
[Instruction] Add dropLocation and updateLocationAfterHoist helpers
Introduce a helper which can be used to update the debug location of an Instruction after the instruction is hoisted. This can be used to safely drop a source location as recommended by the docs.
For more context, see the discussion in https://reviews.llvm.org/D60913.
Differential Revision: https://reviews.llvm.org/D85670
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2 |
|
| #
30c16333 |
| 11-Aug-2020 |
Vedant Kumar <[email protected]> |
Revert "[Instruction] Add updateLocationAfterHoist helper"
This reverts commit 4a646ca9e2caf70d6312714770f516fb83b7e3cb.
This is causing some bots to fail with "!dbg attachment points at wrong subp
Revert "[Instruction] Add updateLocationAfterHoist helper"
This reverts commit 4a646ca9e2caf70d6312714770f516fb83b7e3cb.
This is causing some bots to fail with "!dbg attachment points at wrong subprogram for function", like:
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/67958/steps/stage%201%20check/logs/stdio
show more ...
|
| #
4a646ca9 |
| 10-Aug-2020 |
Vedant Kumar <[email protected]> |
[Instruction] Add updateLocationAfterHoist helper
Introduce a helper on Instruction which can be used to update the debug location after hoisting.
Use this in GVN and LICM, where we were mistakenly
[Instruction] Add updateLocationAfterHoist helper
Introduce a helper on Instruction which can be used to update the debug location after hoisting.
Use this in GVN and LICM, where we were mistakenly introducing new line 0 locations after hoisting (the docs recommend dropping the location in this case).
For more context, see the discussion in https://reviews.llvm.org/D60913.
Differential Revision: https://reviews.llvm.org/D85670
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3 |
|
| #
2c7af6df |
| 01-Jul-2020 |
Simon Pilgrim <[email protected]> |
Pass stripNonLineTableDebugInfo remapDebugLoc lambda DebugLoc arg by const reference not value.
Noticed by clang-tidy performance-unnecessary-value-param warning.
|
|
Revision tags: llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1 |
|
| #
9350792c |
| 30-Apr-2020 |
Vedant Kumar <[email protected]> |
[DebugInfo] Update loop metadata in stripNonLineTableDebugInfo
Summary: Have stripNonLineTableDebugInfo() attach updated !llvm.loop metadata to an instruction (instead of updating and then discardin
[DebugInfo] Update loop metadata in stripNonLineTableDebugInfo
Summary: Have stripNonLineTableDebugInfo() attach updated !llvm.loop metadata to an instruction (instead of updating and then discarding the metadata).
This fixes "!dbg attachment points at wrong subprogram for function" errors seen while archiving an iOS app.
It would be nice -- as a follow-up -- to catch this issue earlier, perhaps by modifying the verifier to constrain where DILocations are allowed. Any alternative suggestions appreciated.
rdar://61982466
Reviewers: aprantl, dsanders
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D79200
show more ...
|
| #
93fe58c9 |
| 02-Apr-2020 |
Adrian Prantl <[email protected]> |
Teach the stripNonLineTableDebugInfo pass about the llvm.dbg.label intrinsic.
Debug info for labels is not generated at -gline-tables-only, so this pass should remove them.
Differential Revision: h
Teach the stripNonLineTableDebugInfo pass about the llvm.dbg.label intrinsic.
Debug info for labels is not generated at -gline-tables-only, so this pass should remove them.
Differential Revision: https://reviews.llvm.org/D77345
show more ...
|
| #
c024f3eb |
| 02-Apr-2020 |
Adrian Prantl <[email protected]> |
Teach the stripNonLineTableDebugInfo pass about the llvm.dbg.addr intrinsic.
This patch also strips llvm.dbg.addr intrinsics when downgrading debug info to linetables-only.
Differential Revision: h
Teach the stripNonLineTableDebugInfo pass about the llvm.dbg.addr intrinsic.
This patch also strips llvm.dbg.addr intrinsics when downgrading debug info to linetables-only.
Differential Revision: https://reviews.llvm.org/D77343
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
| #
d5180ea1 |
| 04-Mar-2020 |
Adrian Prantl <[email protected]> |
Add debug info support for Swift/Clang APINotes.
In order for dsymutil to collect .apinotes files (which capture attributes such as nullability, Swift import names, and availability), I want to prop
Add debug info support for Swift/Clang APINotes.
In order for dsymutil to collect .apinotes files (which capture attributes such as nullability, Swift import names, and availability), I want to propose adding an apinotes: field to DIModule that gets translated into a DW_AT_LLVM_apinotes (path) nested inside DW_TAG_module. This will be primarily used by LLDB to indirectly extract the Swift names of Clang declarations that were deserialized from DWARF.
<rdar://problem/59514626>
Differential Revision: https://reviews.llvm.org/D75585
show more ...
|
| #
e4e7e447 |
| 04-Mar-2020 |
Adrian Prantl <[email protected]> |
Add an SDK attribute to DICompileUnit
This is part of PR44213 https://bugs.llvm.org/show_bug.cgi?id=44213
When importing (system) Clang modules, LLDB needs to know which SDK (e.g., MacOSX, iPhoneSi
Add an SDK attribute to DICompileUnit
This is part of PR44213 https://bugs.llvm.org/show_bug.cgi?id=44213
When importing (system) Clang modules, LLDB needs to know which SDK (e.g., MacOSX, iPhoneSimulator, ...) they came from. While the sysroot attribute contains the absolute path to the SDK, this doesn't work well when the debugger is run on a different machine than the compiler, and the SDKs are installed in different directories. It thus makes sense to just store the name of the SDK instead of the absolute path, so it can be found relative to LLDB.
rdar://problem/51645582
Differential Revision: https://reviews.llvm.org/D75646
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc2 |
|
| #
ecd2aaee |
| 02-Feb-2020 |
Fangrui Song <[email protected]> |
[DebugInfo] Merge DebugInfoFinder::{processDeclare,processValue} into processVariable
The two functions are identical.
|
|
Revision tags: llvmorg-10.0.0-rc1, llvmorg-11-init |
|
| #
7b30370e |
| 14-Jan-2020 |
Adrian Prantl <[email protected]> |
Move the sysroot attribute from DIModule to DICompileUnit
[this re-applies c0176916a4824812d25a5a22c4ff7c95857b0cd6 with the correct commit message and phabricator link]
This addresses point 1 of
Move the sysroot attribute from DIModule to DICompileUnit
[this re-applies c0176916a4824812d25a5a22c4ff7c95857b0cd6 with the correct commit message and phabricator link]
This addresses point 1 of PR44213. https://bugs.llvm.org/show_bug.cgi?id=44213
The DW_AT_LLVM_sysroot attribute is used for Clang module debug info, to allow LLDB to import a Clang module from source. Currently it is part of each DW_TAG_module, however, it is the same for all modules in a compile unit. It is more efficient and less ambiguous to store it once in the DW_TAG_compile_unit.
This should have no effect on DWARF consumers other than LLDB.
Differential Revision: https://reviews.llvm.org/D71732
show more ...
|
| #
c17aee67 |
| 17-Jan-2020 |
Adrian Prantl <[email protected]> |
Revert "Rename DW_AT_LLVM_isysroot to DW_AT_LLVM_sysroot"
This reverts commit 12e479475a896f664fb721f98c2d6805185ac352.
I accidentally landed this patch with the wrong commit message ...
|