aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
diff options
context:
space:
mode:
authorBilly Zhu <billyzhu@modular.com>2024-01-10 16:10:06 -0800
committerGitHub <noreply@github.com>2024-01-10 16:10:06 -0800
commit422b84a77167c43259e18cc3eff88b4b2530defc (patch)
tree79a29ceefc9ccb1ef03cc85d21e5a85d3c5947f6 /clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
parent4a3fb9ce27dda17e97341f28005a28836c909cfc (diff)
downloadllvm-422b84a77167c43259e18cc3eff88b4b2530defc.zip
llvm-422b84a77167c43259e18cc3eff88b4b2530defc.tar.gz
llvm-422b84a77167c43259e18cc3eff88b4b2530defc.tar.bz2
[MLIR][LLVM] DI Expression Rewrite & Legalization (#77541)
Add a rewriter for DIExpressions & use it to run legalization patterns before exporting to llvm (because LLVM dialect allows DI Expressions that may not be valid in LLVM IR). The rewriter driver works similarly to the existing mlir rewriter drivers, except it operates on lists of DIExpressionElemAttr (i.e. DIExpressionAttr). Each rewrite pattern transforms a range of DIExpressionElemAttr into a new list of DIExpressionElemAttr. In addition, this PR sets up a place to add legalization patterns that are broadly applicable internally to the LLVM dialect, and they will always be applied prior to export. This PR adds one pattern for merging fragment operators. --------- Co-authored-by: Tobias Gysi <tobias.gysi@nextsilicon.com>
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp')
0 files changed, 0 insertions, 0 deletions