This is an archive of the discontinued LLVM Phabricator instance.

Introduce LinkAllPasses.cpp as LLVMAllPasses
Needs ReviewPublic

Authored by chapuni on Jan 15 2014, 2:09 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Motivation: http://llvm.org/bugs/show_bug.cgi?id=18407
External projects, for example dragonegg, would be affected when pass is added.

This patch introduces libLLVMAllPasses.a in lib/Transforms.

Even without LLVM_LINKALLPASSES_IFACE, everything would work fine.
I introduce LLVM_LINKALLPASSES_IFACE to make inter-object dependency scaning easier.

I expect clang can be built regardless of this patch.

Diff Detail

Event Timeline

I would really like to avoid this.

I'm quite optimistic about the need fir LinkAllPasses and other hacks like
that to make the existing registration system work going away with the new
pass manager.

Why is the correct fix not to add a dependency from dragonegg -> objcarc?

Although it'd be one of possible fixes, at least in trunk, to add objcarc to dragonegg, ...

Are you really planning to deprecate the way of "show all available paths" and to let us update each transforms client (opt, bugpoint, &c) whenever passes are added/removed?
Or do you have alternates? I could abandon this patch then.

chandlerc resigned from this revision.Mar 29 2015, 11:34 AM
chandlerc removed a reviewer: chandlerc.

This seems dead, and the alternative "passes" library is in the tree now for the new pass manager.