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
Assertions for shift op and support nsw, nuw and exact shift operation

Added check points to verify such that shift operation does not give
undefined behavior. Asserted that the number of bits by which the left
operand has to be shifted must be always smaller than the width of the
left operand. Also, added support for nsw, nuw by shifting logically and
arithmetically respectively. Exact shift is asserted such that the right
shifted result if shifted left by same number of bits, must give the
original left operand.
Merge remote-tracking branch 'upstream/master' into jubi-branch