Reland "Move the construction of ProfilingInfo in the compiler."

This reverts commit 9fedb9f473fd77f31285203f5baa9533b8e21ce6.

Reason for reland:
- Use CodeGenerator::IsImplementedIntrinsic in IsInlineCacheUseful, to
  match inliner behavior.
- Address some missing type propagation opportunities in aosp/2880687
- Be robust when there is a missing inline cache.

Test: test.py

Change-Id: Ib6e4a624174d6891a0fd425af88a9c16e09afa99
19 files changed