General reduction initializer and outconverter functions must not be internalized.

Requires corresponding frameworks/compile/slang change.

Now that the front end is no longer adding these functions to
@llvm.used, we must ensure that they do not get deleted -- they
are needed by the CPU reference driver.

Note that it is not necessary for bcc to explicitly delete:
- the UNexpanded accumulator functions
- the @.rs.reduce_fn.* dummy variables created by slang to ensure that
  the general reduction constituent functions survive front-end
  compilation
The existing internalization and unreferenced symbol removal logic
takes care of this.

Bug: 23535724
(cherry picked from commit 79a19cec3bb00583edc55e2afa2a96b408268545)

Change-Id: I7d7a613e36ff7a1357cb9b5a75d4961c35edd09d
3 files changed