-
Notifications
You must be signed in to change notification settings - Fork 14
Backport RadixTree.h and improve PDB generation
#48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
aleclearmind
wants to merge
147
commits into
feature/llvm-16-base
Choose a base branch
from
feature/platform-roots
base: feature/llvm-16-base
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
147 commits
Select commit
Hold shift + click to select a range
e7f8fa9
CachedReachabilityAA constructor: drop templates
aleclearmind b5e66fc
libc++ tests: link libc++abi too
aleclearmind 2f98e72
cstdlib: implement aligned_alloc
aleclearmind 96c0bae
libcxx: expect failures due to old glibc
aleclearmind 40999c8
runtimes: forward CMAKE_C{,XX}_COMPILER
aleclearmind 799f199
Ignore mold's $plt and $got symbols
aleclearmind 118a82a
Silence noisy profiling counter warning
aleclearmind 8feb943
Add -fcase-insensitive-paths flag
aleclearmind 53d1141
Retain decl-only subprograms in CodeView
aleclearmind 5ab7de2
Add -fdebug-info-allowed-file flag
aleclearmind e966bb5
Add LF_ALIAS support to CodeView type system
aleclearmind 5e28924
[LVI] Use !range metadata for supported intrinsics
nikic 4524bab
[ConstantRange] Handle `Intrinsic::ctlz`
antoniofrighetto 9ad18d8
MachO: improve relocation information
aleclearmind 5f14515
YAML::SequenceTraits: support custom inserter
aleclearmind fa58fc6
YAMLTraits: support quoted EnumScalar
aleclearmind 22ac7be
Add support to Dominators for FilteredGraphTraits
pfez 1eaa662
Enable PDT on GraphTraits using mapped_iterator
pfez 440a98a
Quote ambiguous boolean-like strings
e2f5705
MLIR Dominance: use DominatorTreeOnView
mrjackv 98ee492
mlir::raw_indented_ostream: custom indent value
mrjackv 900d80c
[SimplifyIndVar] Make getInsertPointForUses() public
4adf649
Make ExitOnError constructor external
aleclearmind 8672527
Triple.cpp: fix getArchTypeForLLVMName for "x86_64"
pfez 216b68d
Fix memory leak in `CreateSigAltStack`
pfez 3307db5
Drop `git remote` from --version
aleclearmind 3ca701d
Drop: assertion too strict for revng usecase
drblallo ea7ad6d
Customize Doxygen documentation
andrealinux1 a7e8a97
~ErrorAdapter: add override
aleclearmind bf23ea6
GenericDomTreeConstruction: add parentheses
aleclearmind 5a5775e
ScopedPrinter: mark destructors as override
aleclearmind 73c4a67
DIFinder::processInstruction: handle revng.loop
aleclearmind 4f85ee7
IntervalMap: suppress enum-related warnings
aleclearmind edf78cf
clang: mark ~TargetOMPContext as override
7ed37ea
InstPrinter: add missing `imm` tag for AT&T
Cvelth d2d53e5
InstPrinter: explicitly mark `pc` as `register`
Cvelth 3f6b01b
InstPrinter: introduce address tagging for x86
Cvelth 2e9f547
InstPrinter: introduce address tagging for AArch64
Cvelth a6a37ea
InstPrinter: introduce address tagging for ARM
Cvelth 1fb4111
InstPrinter: introduce address tagging for Mips
Cvelth f554245
InstPrinter: introduce address tagging for SystemZ
Cvelth 431b015
New SetOperations and unittesting for all SetOperations
teresajohnson 210d7c1
[ADT][NFC] Fix compilation of headers under C++23
vogelsgesang 5b57095
[llvm] Fix compilation of headers under C++23
Cvelth 36f4998
MLIR: explicit instantiation for `DomTreeBuilder`
1a5116c
ViewOpGraph: introduce CFG edges printing
0a9750c
ViewOpGraph: option to print first and last ops
ca5212d
SetVector: implement `takeSet` method
92fa38a
mlir: do not force C++17
aleclearmind 5fd1326
llvm::get_threadid: use pthread_self on Linux
aleclearmind 5ce6582
Introduce llvm::Progress
aleclearmind 4e4c676
Improve messages in progress bars
pfez 46f1068
[mlir][LLVM] Add param attr verifiers
Dinistro 3bc0a98
[mlir][LLVM] Add result attribute import support
Dinistro f51b538
[mlir][llvm] Import access group metadata.
gysit c3727e8
Reland "[mlir][LLVM] Add all LLVM parameter attributes"
Dinistro ce6122b
[MLIR] Convert remaining tests to opaque pointers (NFC)
nikic b7e52bb
[mlir][llvm] Opaque pointer support for atomic and call ops.
gysit 501094f
[mlir][llvm] Add structured loop metadata
Dinistro 927765d
[mlir][llvm] Use tablegen for enum conversion.
gysit bef18b5
[mlir][llvm] Fix bug in constant import from LLVM IR.
gysit 752d21c
[mlir][llvm] Drop opaque ptr test in LLVM IR import.
gysit 321eb61
[mlir][llvm] Add missing license header (NFC)
Dinistro ed4f94e
[mlir][llvm] Add support for loop metadata import
Dinistro f9c30f6
[mlir][llvm] Add MD_prof import error handling
Dinistro 53d342e
[mlir][llvm] Purge struct_attr
Dinistro 69748c7
[mlir][llvm] Add extra attributes to the atomic ops.
gysit 9ba5616
[mlir][llvm] Fuse MD_access_group & MD_loop import
Dinistro 2314bf2
[mlir][llvm] Store memory op metadata using op attributes.
gysit 8a5f516
[mlir][llvm] Fix TBAA verfication crash
Dinistro a65660a
[mlir][llvm] Adapt loop metadata to match llvm
Dinistro 920aa72
Reland [mlir][func] Use the generated pass options in func to llvm.
gysit 3ec762b
[milr][llvm] Add remaining loop metadata support
Dinistro 3c10b8e
[mlir][llvm] Improve LoadOp and StoreOp import.
gysit 62db45a
[mlir][llvm] Reintroduce string based attribute setting.
gysit 65c1d76
[mlir] Drop unused arith conversion class (NFC)
Dinistro e233161
[MLIR] Reintroduce shared attribute names in the LLVM dialect
c8e8bb1
[mlir][llvm] Make LoopAnnotations non-discardable
Dinistro 467460d
[mlir][llvm] Import alias scope metadata from LLVM IR.
gysit 9cbf47c
[mlir] Port Conversion Passes to LLVM to use TableGen generated const…
zero9178 8a09c6e
[mlir][MemRef] Add required address space cast when lowering alloc to…
zero9178 e0e3ea9
[mlir][Conversion] Rename the MemRefToLLVM pass
qcolombet 620d2c8
[mlir] Add nontemporal field to memref.load/store and convey to llvm.…
grypp f07ea8d
[mlir][MemRef] Add option to to emit opaque pointers
zero9178 d42d893
[mlir][GPU] add required address space cast when lowering to LLVM
zero9178 a12167c
[mlir][LLVM] Verify correct pointer casts with
zero9178 35c7bfc
[mlir][llvm] Rename void debug type to null
Dinistro fd71c28
[mlir][llvm] Use before def debug intrinsic import
Dinistro 5665654
[mlir][llvm] Verify LLVM module before import
Dinistro 6186345
[mlir] fix LLVM IR translation of vector<... x index>
ftynse 4adb556
[mlir][llvm] Add atomic support to the LoadOp.
gysit cb3ba88
[mlir][llvm] Make DI param optional to match LLVM
Dinistro 4e6f95e
[mlir][llvm] Add DINamespace attribute
Dinistro ba467c2
[mlir][llvm] Fuse access_group & loop export (NFC)
Dinistro 4486370
[mlir][llvm] Add atomic support to the StoreOp.
gysit 9858b19
[mlir][llvm] Add FastmathFlagsInterface only once (NFC).
gysit d9b6d70
[mlir][llvm] Builders dont access null attr (NFC)
Dinistro 48d3773
[mlir][llvm] Stop exporting empty debug MD strings
Dinistro cdfbd12
[mlir][llvm] Add missing bit manipulation intrs
Dinistro b526bba
[mlir][llvm] Fix bswap naming (NFC)
Dinistro f53c2fe
[mlir][llvm] Add trap intrinsics to the dialect
35ae208
[mlir][llvm] Saturation arithmetic intrinsics.
gysit 5cdd836
GenericDomTreeConstruction: add `constexpr`
fb136e7
[mlir] Fix infinite recursion in alias initializer
zero9178 a1da679
ErrorHandling: reserve memory for OOM
mrjackv f070062
ErrorHandling: do not print stack twice on OOM
mrjackv 3c90f1f
[STLExtras] Convert friend == and != to member
vasama-work 22aff49
Add zstd support to llvm::parseIR
mrjackv d1de186
ADT::GenericCycleInfo: Introduce GraphView param
64ca0ff
Add SROANoArrays cl::opt
pfez 1197e64
Make InstCombine MaxArraySize cl::opt public
pfez eaf4788
[mlir] Print aliases for recursive types
vasama-work c09d253
Add AsmPrinter::getCurrentTypeOrAttrAlias
vasama-work 3815ef1
InstructionSimplify: respect NullPointerIsValid
pfez 4c67a20
Add DialectBytecodeReader::getContext
vasama-work bb023b7
[DebugInfo][SimplifyCFGPass] Fix the missing debug location update fo…
Apochens 4d36a0c
[DebugInfo][InstCombine] Fix missing source and variable locations af…
OCHyams 7028be8
BasicBlockUtils: preserve `split` phi debug information
Cvelth cff29a2
BasicBlockUtils: preserve `.ph` phi debug information
Cvelth cb2caee
LoopSimplify: preserve `split` phi debug information
Cvelth 5d0c83b
ScalarEvolutionExpander: preserve `indvar` phi debug information
Cvelth 8077941
SimplifyCFG: preserve `.sink` phi debug information
Cvelth 7f38b8e
LICM: preserve `.lcssa` phi debug information
Cvelth 4630c47
SimplifyCFGPass: preserve `common.` basic block debug information
Cvelth 9e26069
PointerReplacer: preserve phi debug information
Cvelth e659f8a
InstCombinePHI: preserve `.pn` phi debug information
Cvelth 1100137
InstCombinePHI: preserve `.in` phi debug information
Cvelth 0d5434a
InstCombinePHI: preserve `.shrunk` phi debug information
Cvelth a04c466
Introduce a debug information preservation style
Cvelth 60bc843
LICM: do not discard debug information
Cvelth fd5eb05
PromoteMem2Reg: do not discard debug information
Cvelth 04d1d9e
SimplifyCFG: do not discard debug information
Cvelth 35001d7
SSAUpdater: attach basic debug information to new Phis
Cvelth d8814be
Error: print error messages in non-debug builds
Cvelth f250676
InstCombine: prevent usage of illegal types
aleclearmind f6c1856
CodeExtractor: fix debug message
aleclearmind ba502e0
AsmWriter: introduce --emit-hex-constant-literals-from
aleclearmind 14d95e6
cloneModule: allow omitting values
mrjackv 7c35108
[mlir] Relax requirement on memory buffer creation.
jpienaar 272ff29
[ADT] Add deduction guide for iterator_range
steakhal 098e77f
[NFC][ADT] Add reverse iterators and `value_type` to StringRef (#105579)
jurahul 86c4166
[ADT] Allow reverse to find free rbegin/rend functions (#87840)
kuhar 7ee1198
[ADT] Add llvm::mismatch and llvm::range_size range wrappers
aleclearmind f82a018
[NFC][ADT] Add RadixTree (#164524)
vitalybuka 8955c8c
[ADT][NFC] Add missing #include <vector> (#165068)
rupprecht 5c7d083
[ADT] Remove #include <limits> in RadixTree.h (NFC) (#165115)
kazutakahirata 722c969
[RadixTree] Use std::optional for Node::Value (#165299)
vitalybuka File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| // Verify that -fdebug-info-allowed-file restricts rich debug-info emission to | ||
| // declarations from the listed files. | ||
|
|
||
| // RUN: rm -rf %t && mkdir -p %t | ||
| // RUN: echo 'struct allowed_struct {}; void allowed_fn(int);' > %t/allowed.h | ||
| // RUN: echo 'struct excluded_struct {}; void excluded_fn(int);' > %t/excluded.h | ||
|
|
||
| // With the filter, only decls from allowed.h appear in the debug output. | ||
| // RUN: %clang_cc1 -debug-info-kind=unused-types -emit-llvm -o - %s -I %t \ | ||
| // RUN: -fdebug-info-allowed-file=%t/allowed.h \ | ||
| // RUN: | FileCheck %s --check-prefix=FILTERED | ||
|
|
||
| // Without the filter, both decls are emitted. | ||
| // RUN: %clang_cc1 -debug-info-kind=unused-types -emit-llvm -o - %s -I %t \ | ||
| // RUN: | FileCheck %s --check-prefix=UNFILTERED | ||
|
|
||
| #include "allowed.h" | ||
| #include "excluded.h" | ||
|
|
||
| // FILTERED-DAG: name: "allowed_struct" | ||
| // FILTERED-DAG: name: "allowed_fn" | ||
| // FILTERED-NOT: name: "excluded_struct" | ||
| // FILTERED-NOT: name: "excluded_fn" | ||
|
|
||
| // UNFILTERED-DAG: name: "allowed_struct" | ||
| // UNFILTERED-DAG: name: "excluded_struct" |
16 changes: 16 additions & 0 deletions
16
clang/test/CodeGen/debug-info-codeview-emit-decl-subprogram.c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| // Verify that a declaration-only function gets its DISubprogram retained | ||
| // and lowered to an LF_FUNC_ID record in the CodeView output. | ||
|
|
||
| // REQUIRES: x86-registered-target | ||
|
|
||
| // RUN: %clang_cc1 -triple x86_64-windows-msvc -gcodeview \ | ||
| // RUN: -debug-info-kind=unused-types -emit-obj -o %t.o %s | ||
| // RUN: llvm-readobj %t.o --codeview | FileCheck %s | ||
|
|
||
| void declared_fn(int); | ||
|
|
||
| // CHECK: FuncId ({{.*}}) { | ||
| // CHECK-NEXT: TypeLeafKind: LF_FUNC_ID | ||
| // CHECK: FunctionType: void (int) | ||
| // CHECK-NEXT: Name: declared_fn | ||
| // CHECK-NEXT: } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // RUN: %clang -### -fcase-insensitive-paths -c %s 2>&1 | FileCheck %s | ||
|
|
||
| // CHECK: "-fcase-insensitive-paths" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| // RUN: %clang -### -fdebug-info-allowed-file=a.h -fdebug-info-allowed-file=b.h -c %s 2>&1 | FileCheck %s | ||
|
|
||
| // CHECK: "-fdebug-info-allowed-file=a.h" "-fdebug-info-allowed-file=b.h" |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.