[llvm-commits] [gcc-plugin] r76306 - /gcc-plugin/trunk/llvm-convert.cpp
Bill Wendling
isanbard at gmail.com
Sat Jul 18 16:23:33 PDT 2009
On Jul 18, 2009, at 4:24 AM, Duncan Sands wrote:
> Author: baldrick
> Date: Sat Jul 18 06:23:48 2009
> New Revision: 76306
>
> URL: http://llvm.org/viewvc/llvm-project?rev=76306&view=rev
> Log:
> Scaffolding for outputting gimple statements.
>
> Modified:
> gcc-plugin/trunk/llvm-convert.cpp
>
> Modified: gcc-plugin/trunk/llvm-convert.cpp
> URL: http://llvm.org/viewvc/llvm-project/gcc-plugin/trunk/llvm-convert.cpp?rev=76306&r1=76305&r2=76306&view=diff
>
> =
> =
> =
> =
> =
> =
> =
> =
> ======================================================================
> --- gcc-plugin/trunk/llvm-convert.cpp (original)
> +++ gcc-plugin/trunk/llvm-convert.cpp Sat Jul 18 06:23:48 2009
> @@ -743,18 +743,26 @@
> FOR_EACH_BB (bb) {
> for (gimple_stmt_iterator gsi = gsi_start_bb (bb); !gsi_end_p
> (gsi);
> gsi_next (&gsi)) {
> -
> - MemRef DestLoc;
> gimple stmt = gsi_stmt (gsi);
>
> - // If this stmt returns an aggregate value (e.g. a call whose
> result is
> - // ignored), create a temporary to receive the value. Note
> that we don't
> - // do this for MODIFY_EXPRs as an efficiency hack.
> - if (isAggregateTreeType(TREE_TYPE(stmt)) &&
> - TREE_CODE(stmt)!= MODIFY_EXPR && TREE_CODE(stmt)!
> =INIT_EXPR)
> - DestLoc = CreateTempLoc(ConvertType(TREE_TYPE(stmt)));
> -
> - Emit(stmt, DestLoc.Ptr ? &DestLoc : NULL);
> + switch (gimple_code(stmt)) {
> + case GIMPLE_ASSIGN:
> + case GIMPLE_COND:
> + case GIMPLE_GOTO:
> + case GIMPLE_LABEL:
> + case GIMPLE_RETURN:
> + case GIMPLE_ASM:
> + case GIMPLE_CALL:
> + case GIMPLE_SWITCH:
> + case GIMPLE_NOP:
> + case GIMPLE_PREDICT:
> + case GIMPLE_RESX:
> + default:
> + std::cerr << "Unknown GIMPLE statement during LLVM emission!
> \n"
> + << "gimple_code: " << gimple_code(stmt) << "\n";
> + print_gimple_stmt(stderr, stmt, 4, 0);
> + abort();
Will this warn about no "break" statement at the end of a switch?
-bw
> + }
> }
>
> FOR_EACH_EDGE (e, ei, bb->succs)
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list