|
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 |
|
| #
eab6e94f |
| 06-Apr-2022 |
Chih-Ping Chen <[email protected]> |
[DebugInfo] Add a TargetFuncName field in DISubprogram for specifying DW_AT_trampoline as a string. Also update the signature of DIBuilder::createFunction to reflect this addition.
Differential Revi
[DebugInfo] Add a TargetFuncName field in DISubprogram for specifying DW_AT_trampoline as a string. Also update the signature of DIBuilder::createFunction to reflect this addition.
Differential Revision: https://reviews.llvm.org/D123697
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
ed98c1b3 |
| 09-Mar-2022 |
serge-sans-paille <[email protected]> |
Cleanup includes: DebugInfo & CodeGen
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D121332
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
70fdbf35 |
| 11-Feb-2022 |
YASHASVI KHATAVKAR <[email protected]> |
Adding DiBuilder interface for assumed length strings
|
| #
93d1a623 |
| 10-Feb-2022 |
YASHASVI KHATAVKAR <[email protected]> |
Reverting an entire stack of changes causing build failures
|
|
Revision tags: llvmorg-14.0.0-rc1 |
|
| #
e4f9d4a5 |
| 02-Feb-2022 |
YASHASVI KHATAVKAR <[email protected]> |
updated local branch to incorporate latest changes
|
|
Revision tags: llvmorg-15-init |
|
| #
0e7341b7 |
| 01-Feb-2022 |
YASHASVI KHATAVKAR <[email protected]> |
worked on review comments
|
| #
929499eb |
| 31-Jan-2022 |
YASHASVI KHATAVKAR <[email protected]> |
Updated the test to include addtional details
|
| #
99f990be |
| 27-Jan-2022 |
YASHASVI KHATAVKAR <[email protected]> |
Added StringLocationExp to the new apis
|
| #
2c5dfeed |
| 27-Jan-2022 |
YASHASVI KHATAVKAR <[email protected]> |
Addressed review comments
|
| #
43d421cd |
| 26-Jan-2022 |
YASHASVI KHATAVKAR <[email protected]> |
Adding DIBuilder interface for assumed length string
|
| #
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 |
|
| #
24bc072e |
| 19-Jan-2022 |
Adrian Prantl <[email protected]> |
Fix modules build by moving implementation into .cpp file
|
| #
7ed95d15 |
| 16-Jan-2022 |
Michael Gottesman <[email protected]> |
[debug-info] Add support for llvm.dbg.addr in DIBuilder.
I based this off of the API already create for llvm.dbg.value since both intrinsics have the same arguments at the API level.
I added some t
[debug-info] Add support for llvm.dbg.addr in DIBuilder.
I based this off of the API already create for llvm.dbg.value since both intrinsics have the same arguments at the API level.
I added some tests exercising the API a little as well as an additional small test that shows how one can use llvm.dbg.addr to limit the PC range where an address value is available in the debugger. This is done by calling llvm.dbg.value with undef and the same metadata info as one used to create the llvm.dbg.addr.
rdar://83957028
Reviewed By: aprantl
Differential Revision: https://reviews.llvm.org/D117442
show more ...
|
|
Revision tags: 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 ...
|
| #
c23ebf17 |
| 09-Dec-2021 |
Kazu Hirata <[email protected]> |
[llvm] Use range-based for loops (NFC)
|
| #
0150645b |
| 30-Nov-2021 |
Ellis Hoag <[email protected]> |
[DebugInfo] Do not replace existing nodes from DICompileUnit
When creating a new DIBuilder with an existing DICompileUnit, load the DINodes from the current DICompileUnit so they don't get overwritt
[DebugInfo] Do not replace existing nodes from DICompileUnit
When creating a new DIBuilder with an existing DICompileUnit, load the DINodes from the current DICompileUnit so they don't get overwritten. This is done in the MachineOutliner pass, but it didn't change the CU so the bug never appeared. We need this if we ever want to add DINodes to the CU after it has been created, e.g., DIGlobalVariables.
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D114556
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
665b4138 |
| 11-Nov-2021 |
Luís Ferreira <[email protected]> |
[DebugInfo] run clang-format on some unformatted files
This trivial patch runs clang-format on some unformatted files before doing logic changes and prevent hard to review diffs.
Differential Revis
[DebugInfo] run clang-format on some unformatted files
This trivial patch runs clang-format on some unformatted files before doing logic changes and prevent hard to review diffs.
Differential Revision: https://reviews.llvm.org/D113572
show more ...
|
| #
3466e007 |
| 05-Nov-2021 |
Yonghong Song <[email protected]> |
Reland "[Attr] support btf_type_tag attribute"
This is to revert commit f95bd18b5faa (Revert "[Attr] support btf_type_tag attribute") plus a bug fix.
Previous change failed to handle cases like bel
Reland "[Attr] support btf_type_tag attribute"
This is to revert commit f95bd18b5faa (Revert "[Attr] support btf_type_tag attribute") plus a bug fix.
Previous change failed to handle cases like below: $ cat reduced.c void a(*); void a() {} $ clang -c reduced.c -O2 -g
In such cases, during clang IR generation, for function a(), CGCodeGen has numParams = 1 for FunctionType. But for FunctionTypeLoc we have FuncTypeLoc.NumParams = 0. By using FunctionType.numParams as the bound to access FuncTypeLoc params, a random crash is triggered. The bug fix is to check against FuncTypeLoc.NumParams before accessing FuncTypeLoc.getParam(Idx).
Differential Revision: https://reviews.llvm.org/D111199
show more ...
|
| #
f95bd18b |
| 05-Nov-2021 |
Martin Storsjö <[email protected]> |
Revert "[Attr] support btf_type_tag attribute"
This reverts commits 737e4216c537c33aab8ec51880f06b8a54325b94 and ce7ac9e66aba2b937b3d3b5505ce6cc75dcc56ac.
After those commits, the compiler can cras
Revert "[Attr] support btf_type_tag attribute"
This reverts commits 737e4216c537c33aab8ec51880f06b8a54325b94 and ce7ac9e66aba2b937b3d3b5505ce6cc75dcc56ac.
After those commits, the compiler can crash with a reduced testcase like this:
$ cat reduced.c void a(*); void a() {} $ clang -c reduced.c -O2 -g
show more ...
|
| #
737e4216 |
| 01-Oct-2021 |
Yonghong Song <[email protected]> |
[Attr] support btf_type_tag attribute
This patch added clang codegen and llvm support for btf_type_tag support. Currently, btf_type_tag attribute info is preserved in DebugInfo IR only for pointer t
[Attr] support btf_type_tag attribute
This patch added clang codegen and llvm support for btf_type_tag support. Currently, btf_type_tag attribute info is preserved in DebugInfo IR only for pointer types associated with typedef, global variable and function declaration. Eventually, such information is emitted to dwarf.
The following is an example: $ cat test.c #define __tag __attribute__((btf_type_tag("tag"))) int __tag *g; $ clang -O2 -g -c test.c $ llvm-dwarfdump --debug-info test.o ... 0x0000001e: DW_TAG_variable DW_AT_name ("g") DW_AT_type (0x00000033 "int *") DW_AT_external (true) DW_AT_decl_file ("/home/yhs/test.c") DW_AT_decl_line (2) DW_AT_location (DW_OP_addr 0x0)
0x00000033: DW_TAG_pointer_type DW_AT_type (0x00000042 "int")
0x00000038: DW_TAG_LLVM_annotation DW_AT_name ("btf_type_tag") DW_AT_const_value ("tag")
0x00000041: NULL
0x00000042: DW_TAG_base_type DW_AT_name ("int") DW_AT_encoding (DW_ATE_signed) DW_AT_byte_size (0x04)
0x00000049: NULL
Basically, a DW_TAG_LLVM_annotation tag will be inserted under DW_TAG_pointer_type tag if that pointer has a btf_type_tag associated with it.
Differential Revision: https://reviews.llvm.org/D111199
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
| #
f6811cec |
| 21-Sep-2021 |
Yonghong Song <[email protected]> |
[DebugInfo] Support typedef with btf_decl_tag attributes
Clang patch ([1]) added support for btf_decl_tag attributes with typedef types. This patch added llvm support including dwarf generation. For
[DebugInfo] Support typedef with btf_decl_tag attributes
Clang patch ([1]) added support for btf_decl_tag attributes with typedef types. This patch added llvm support including dwarf generation. For example, for typedef typedef unsigned * __u __attribute__((btf_decl_tag("tag1"))); __u u; the following shows llvm-dwarfdump result: 0x00000033: DW_TAG_typedef DW_AT_type (0x00000048 "unsigned int *") DW_AT_name ("__u") DW_AT_decl_file ("/home/yhs/work/tests/llvm/btf_tag/t.c") DW_AT_decl_line (1)
0x0000003e: DW_TAG_LLVM_annotation DW_AT_name ("btf_decl_tag") DW_AT_const_value ("tag1")
0x00000047: NULL
[1] https://reviews.llvm.org/D110127
Differential Revision: https://reviews.llvm.org/D110129
show more ...
|
| #
ee267b1c |
| 25-Sep-2021 |
Simon Pilgrim <[email protected]> |
[IR] DIBuilder::createEnumerator - pass APSInt by const reference
Avoid unnecessary copy by value.
|
|
Revision tags: 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 ...
|
| #
47b239eb |
| 30-Aug-2021 |
Ellis Hoag <[email protected]> |
[DIBuilder] Do not replace empty enum types
It looks like this array was missed in 4276d4a8d08b7640eb57cabf6988a5cf65b228b6
Fixed tests that expected `elements` to be empty or depeneded on the orde
[DIBuilder] Do not replace empty enum types
It looks like this array was missed in 4276d4a8d08b7640eb57cabf6988a5cf65b228b6
Fixed tests that expected `elements` to be empty or depeneded on the order of the empty DINode.
Reviewed By: aprantl
Differential Revision: https://reviews.llvm.org/D107024
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
1bebc31c |
| 19-Jul-2021 |
Yonghong Song <[email protected]> |
[DebugInfo] generate btf_tag annotations for func parameters
Generate btf_tag annotations for function parameters. A field "annotations" is introduced to DILocalVariable, and annotations are represe
[DebugInfo] generate btf_tag annotations for func parameters
Generate btf_tag annotations for function parameters. A field "annotations" is introduced to DILocalVariable, and annotations are represented as an DINodeArray, similar to DIComposite elements. The following example illustrates how annotations are encoded in IR: distinct !DILocalVariable(name: "info",, arg: 1, ..., annotations: !10) !10 = !{!11, !12} !11 = !{!"btf_tag", !"a"} !12 = !{!"btf_tag", !"b"}
Differential Revision: https://reviews.llvm.org/D106620
show more ...
|