Mercurial > hg > truffle
comparison src/cpu/sparc/vm/sparc.ad @ 14428:044b28168e20
8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
Summary: added ability in C2 to expand mach nodes to several mach nodes after register allocation
Reviewed-by: kvn
author | goetz |
---|---|
date | Thu, 14 Nov 2013 19:24:59 -0800 |
parents | 2b8e28fdf503 |
children | da862781b584 |
comparison
equal
deleted
inserted
replaced
14427:eb178e97560c | 14428:044b28168e20 |
---|---|
1032 } | 1032 } |
1033 return offset; | 1033 return offset; |
1034 } | 1034 } |
1035 } | 1035 } |
1036 | 1036 |
1037 bool MachConstantBaseNode::requires_postalloc_expand() const { return false; } | |
1038 void MachConstantBaseNode::postalloc_expand(GrowableArray <Node *> *nodes, PhaseRegAlloc *ra_) { | |
1039 ShouldNotReachHere(); | |
1040 } | |
1041 | |
1037 void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const { | 1042 void MachConstantBaseNode::emit(CodeBuffer& cbuf, PhaseRegAlloc* ra_) const { |
1038 Compile* C = ra_->C; | 1043 Compile* C = ra_->C; |
1039 Compile::ConstantTable& constant_table = C->constant_table(); | 1044 Compile::ConstantTable& constant_table = C->constant_table(); |
1040 MacroAssembler _masm(&cbuf); | 1045 MacroAssembler _masm(&cbuf); |
1041 | 1046 |
1881 | 1886 |
1882 // CMOVF/CMOVD are expensive on T4 and on SPARC64. | 1887 // CMOVF/CMOVD are expensive on T4 and on SPARC64. |
1883 const int Matcher::float_cmove_cost() { | 1888 const int Matcher::float_cmove_cost() { |
1884 return (VM_Version::is_T4() || VM_Version::is_sparc64()) ? ConditionalMoveLimit : 0; | 1889 return (VM_Version::is_T4() || VM_Version::is_sparc64()) ? ConditionalMoveLimit : 0; |
1885 } | 1890 } |
1891 | |
1892 // Does the CPU require late expand (see block.cpp for description of late expand)? | |
1893 const bool Matcher::require_postalloc_expand = false; | |
1886 | 1894 |
1887 // Should the Matcher clone shifts on addressing modes, expecting them to | 1895 // Should the Matcher clone shifts on addressing modes, expecting them to |
1888 // be subsumed into complex addressing expressions or compute them into | 1896 // be subsumed into complex addressing expressions or compute them into |
1889 // registers? True for Intel but false for most RISCs | 1897 // registers? True for Intel but false for most RISCs |
1890 const bool Matcher::clone_shift_expressions = false; | 1898 const bool Matcher::clone_shift_expressions = false; |