Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:lafenghu
gcc43
pr34043-2.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pr34043-2.diff of Package gcc43
2008-03-01 Richard Guenther <rguenther@suse.de> PR tree-optimization/35411 * tree-sra.c (sra_build_assignment): Split conversion to final type to a separate statement if we are not assigning to a register. Index: gcc/tree-sra.c =================================================================== *** gcc/tree-sra.c (revision 132767) --- gcc/tree-sra.c (working copy) *************** sra_build_assignment (tree dst, tree src *** 2139,2145 **** if (scalar_bitfield_p (src)) { tree var, shift, width; ! tree utype, stype, stmp, utmp; tree list, stmt; bool unsignedp = BIT_FIELD_REF_UNSIGNED (src); --- 2139,2145 ---- if (scalar_bitfield_p (src)) { tree var, shift, width; ! tree utype, stype, stmp, utmp, dtmp; tree list, stmt; bool unsignedp = BIT_FIELD_REF_UNSIGNED (src); *************** sra_build_assignment (tree dst, tree src *** 2256,2261 **** --- 2256,2271 ---- var = fold_convert (TREE_TYPE (dst), var); else var = fold_build1 (VIEW_CONVERT_EXPR, TREE_TYPE (dst), var); + + /* If the destination is not a register the conversion needs + to be a separate statement. */ + if (!is_gimple_reg (dst)) + { + dtmp = make_rename_temp (TREE_TYPE (dst), "SR"); + stmt = build_gimple_modify_stmt (dtmp, var); + append_to_statement_list (stmt, &list); + var = dtmp; + } } stmt = build_gimple_modify_stmt (dst, var); append_to_statement_list (stmt, &list);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor