LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 28322 - [PM] Remove use of old PM in the middle-end.
Summary: [PM] Remove use of old PM in the middle-end.
Status: NEW
Alias: None
Product: new-bugs
Classification: Unclassified
Component: new bugs (show other bugs)
Version: unspecified
Hardware: PC Linux
: P normal
Assignee: Unassigned LLVM Bugs
URL:
Keywords:
Depends on: 28323
Blocks: 28315
  Show dependency tree
 
Reported: 2016-06-26 19:02 PDT by Sean Silva
Modified: 2016-06-27 12:11 PDT (History)
4 users (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sean Silva 2016-06-26 19:02:24 PDT
Right now, each pass/analysis we port has to keep a legacy shim which is actually a nontrivial amount of code (although it varies from pass to pass). Perhaps most importantly it forces awkward patterns for the core pass logic, essentially requiring there to be 3 interfaces to be implemented:

1. the old PM interface
2. the new PM interface
3. a weird (and inconsistent across passes) meta-interface that both 1. and 2. can be implemented in terms of.

Often, 3. takes the form of passing in the analysis objects explicitly or passing a callback that lazily constructs them.