Roll LLVM to r209252
Remove references to OwningPtr
Add virtual destructor to Solver class
Factor out files included in libraries
Factor out the core of ExtractExprCandidatePass
Add Souper llvm opt pass
Document pass
Fix use-without-inclusion error
Changes per Peter's feedback
Merge pull request #11 from jeroenk/pass-new

Add souper llvm compiler pass - take 2
Silence Mac ld warning regarding weak symbols
Merge pull request #12 from jeroenk/mac-ld

Silence Mac ld warning regarding weak symbols
Clean up CMakeLists.txt

- PASS_CXXFLAGS is the same as LLVM_CXXFLAGS
- Remove unnecessary warning flag
- Use -std=c++11 everywhere since our minimum target compilers require it
Roll LLVM to r209595

This incorporates a change that introduces extension points in the pass
manager for peephole optimizers (such as the Souper pass).
Register the Souper pass as a peephole extension point