summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/help/TestHelp.py
diff options
context:
space:
mode:
authorGeorge Burgess IV <george.burgess.iv@gmail.com>2018-03-08 05:32:30 +0000
committerGeorge Burgess IV <george.burgess.iv@gmail.com>2018-03-08 05:32:30 +0000
commit003be7cbf4a4c95f1cc005ec96cbd1fbf9724391 (patch)
tree2c0dba5dd7031262d635d6c14c495254ba0eb931 /lldb/packages/Python/lldbsuite/test/help/TestHelp.py
parente465a84f85aae78fb5cce8f8630190fe81727959 (diff)
downloadbcm5719-llvm-003be7cbf4a4c95f1cc005ec96cbd1fbf9724391.tar.gz
bcm5719-llvm-003be7cbf4a4c95f1cc005ec96cbd1fbf9724391.zip
[CodeGen] Emit lifetime.ends in both EH and non-EH blocks
Before this, we'd only emit lifetime.ends for these temps in non-exceptional paths. This potentially made our stack larger than it needed to be for any code that follows an EH cleanup. e.g. in ``` struct Foo { char cs[32]; }; void escape(void *); struct Bar { ~Bar() { char cs[64]; escape(cs); } }; Foo getFoo(); void baz() { Bar b; getFoo(); } ``` baz() would require 96 bytes of stack, since the temporary from getFoo() only had a lifetime.end on the non-exceptional path. This also makes us keep hold of the Value* returned by EmitLifetimeStart, so we don't have to remake it later. llvm-svn: 326988
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/help/TestHelp.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud