diff options
| author | James Miller <james@aatch.net> | 2016-03-11 18:00:52 +1300 |
|---|---|---|
| committer | James Miller <james@aatch.net> | 2016-03-30 12:59:57 +1300 |
| commit | eee7f3c73298ed77f61ad15cdca552528d6f3783 (patch) | |
| tree | 3a168f9e0637b07d1ee6a7ace59ae202135ee8ca /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | 60a28e60aa6eb0ed074fa5e6875e60cb2f038605 (diff) | |
| download | rust-eee7f3c73298ed77f61ad15cdca552528d6f3783.tar.gz rust-eee7f3c73298ed77f61ad15cdca552528d6f3783.zip | |
Add and use a break critical edges transform
This is a fairly standard transform that inserts blocks along critical edges so code can be inserted along the edge without it affecting other edges. The main difference is that it considers a Drop or Call terminator that would require an `invoke` instruction in LLVM a critical edge. This is because we can't actually insert code after an invoke, so it ends up looking similar to a critical edge anyway. The transform is run just before translation right now.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
