diff options
author | David Olsen <dolsen@nvidia.com> | 2025-03-19 12:56:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-19 12:56:41 -0700 |
commit | 4e3440d9dd181f83ac1aa23f9c458d1344413e98 (patch) | |
tree | ce17227ed8f236c0097a1ac2004c508df552aa19 /clang/lib/CodeGen/CoverageMappingGen.cpp | |
parent | a0ae88bffea766f4c79d51674b81b5d5db825d33 (diff) | |
download | llvm-4e3440d9dd181f83ac1aa23f9c458d1344413e98.zip llvm-4e3440d9dd181f83ac1aa23f9c458d1344413e98.tar.gz llvm-4e3440d9dd181f83ac1aa23f9c458d1344413e98.tar.bz2 |
[CIR] Upstream a basic version of class LexicalScope (#131945)
Upstream the parts of class `CIRGenFunction::LexicalScope` that
implement function return values. There is a bit of other functionality
in here, such as the implicit `cir.yield` at the end of a non-function
scope, but this is mostly about function returns.
The parts of `LexicalScope` that handle calling destructors, switch
statements, ternary expressions, and exception handling still need to be
upstreamed.
There is a change in the generated ClangIR (which is why many of the
tests needed updating). Return values are stored in the
compiler-generated variable `__retval` rather than being passed to the
`cir.return` op directly. But there should be no change in the behavior
of the generated code.
Diffstat (limited to 'clang/lib/CodeGen/CoverageMappingGen.cpp')
0 files changed, 0 insertions, 0 deletions