Truffle/Source:  add a singleton null instance of SourceCallback
removed debug code
small fix and doc for @OptionalInput
remove frame state manipulation after a DeoptimizeNode is appended as the state will never be used; remove unused ParameterNodes from a graph
made InductionVariable.deleteUnusedNodes() abstract
made IfCanonicalizerTest clean up dead nodes it creates
code and javadoc cleanups in Canonicalizable and NodeClassIterable
fix ReadNode canonicalization for guard-type usages of null-checking reads
made FloatingReadNode clean up dead nodes it creates
Merge.
Fix c1visualizer dump.

--HG--
extra : rebase_source : 9e2475dd85e6721e6868b7a4507d8eff38059639
Propagate reference information through arithmetics.

--HG--
extra : rebase_source : e3ab59d951a8707079e8c1a22b396eb11a6c1866
Improve documentation of LIRKind.

--HG--
extra : rebase_source : 0fcf4673150dba621d736fd27c8a760f2029fe7d
extra : amend_source : 6bac3a230af1e0034a1fe52477cc3f452ecd175c
Make find_method_handle_intrinsic work in Xint mode

--HG--
extra : rebase_source : 9cb4ed5712b29a7f45dad9ac15b8936d0ff89324
Minor refactoring in LoopFragment.mergeEarlyExits to improve readability

--HG--
extra : rebase_source : af4f3f0abbd9bc5b96cd02bf669ad7a52a179a0f
LoopFragmentInside: make sure no dead phi are left after phis have been rewritten

--HG--
extra : rebase_source : 633417f6b69ab0cfcd3edfb77ab11a751e446823
No need to duplicate the loop begin's state for LoopFragmentInside

--HG--
extra : rebase_source : 920496388e919d36456a0bb79af132b853079ecb
Make sure LoopEx.reassociateInvariants doesn't leave dead nodes behind

--HG--
extra : rebase_source : ed7b6943194fbfcef17196dfd21821d536a74be7