This patch changes EmitPPCBuiltinExpr in CGBuiltin.cpp to remove
the loop at the beginning of the function that emits the arguments and
to delay emitting the arguments until inside the switch statement. These
changes will put EmitPPCBuiltinExpr in line with the strategy of the
target independent function EmitBuiltinExpr. Also, this patch
ensures that arguments are only emitted once.
Tests that included builtins affected by these changes have been
modified to match expected behaviour.
A question I have is do we not need to consider this/EmitArrayToPointerDecay() anymore? Was this not used for anything?