Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Side by Side Diff: src/IceInstX86BaseImpl.h

Issue 1746613002: Subzero: Reduce copying of Liveness bitvectors. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix huge perf problem in MINIMAL build Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« src/IceCfgNode.cpp ('K') | « src/IceCfgNode.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- subzero/src/IceInstX86BaseImpl.h - Generic X86 instructions -*- C++ -*=// 1 //===- subzero/src/IceInstX86BaseImpl.h - Generic X86 instructions -*- C++ -*=//
2 // 2 //
3 // The Subzero Code Generator 3 // The Subzero Code Generator
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 /// 9 ///
10 /// \file 10 /// \file
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 } 91 }
92 92
93 template <typename TraitsType> 93 template <typename TraitsType>
94 InstImpl<TraitsType>::InstX86Label::InstX86Label(Cfg *Func, 94 InstImpl<TraitsType>::InstX86Label::InstX86Label(Cfg *Func,
95 TargetLowering *Target) 95 TargetLowering *Target)
96 : InstX86Base(Func, InstX86Base::Label, 0, nullptr), 96 : InstX86Base(Func, InstX86Base::Label, 0, nullptr),
97 Number(Target->makeNextLabelNumber()) {} 97 Number(Target->makeNextLabelNumber()) {}
98 98
99 template <typename TraitsType> 99 template <typename TraitsType>
100 IceString InstImpl<TraitsType>::InstX86Label::getName(const Cfg *Func) const { 100 IceString InstImpl<TraitsType>::InstX86Label::getName(const Cfg *Func) const {
101 // TODO(stichnot): Returning an empty string in a non-DUMP build can cause a
102 // huge degradation in ConstantRelocatable hashing. Investigate and fix, but
103 // for now return something reasonably unique.
101 if (!BuildDefs::dump()) 104 if (!BuildDefs::dump())
102 return IceString(); 105 return Func->getFunctionName() + std::to_string(Number);
103 return ".L" + Func->getFunctionName() + "$local$__" + std::to_string(Number); 106 return ".L" + Func->getFunctionName() + "$local$__" + std::to_string(Number);
104 } 107 }
105 108
106 template <typename TraitsType> 109 template <typename TraitsType>
107 InstImpl<TraitsType>::InstX86Br::InstX86Br( 110 InstImpl<TraitsType>::InstX86Br::InstX86Br(
108 Cfg *Func, const CfgNode *TargetTrue, const CfgNode *TargetFalse, 111 Cfg *Func, const CfgNode *TargetTrue, const CfgNode *TargetFalse,
109 const InstImpl<TraitsType>::InstX86Label *Label, BrCond Condition, 112 const InstImpl<TraitsType>::InstX86Label *Label, BrCond Condition,
110 Mode Kind) 113 Mode Kind)
111 : InstX86Base(Func, InstX86Base::Br, 0, nullptr), Condition(Condition), 114 : InstX86Base(Func, InstX86Base::Br, 0, nullptr), Condition(Condition),
112 TargetTrue(TargetTrue), TargetFalse(TargetFalse), Label(Label), 115 TargetTrue(TargetTrue), TargetFalse(TargetFalse), Label(Label),
(...skipping 2777 matching lines...) Expand 10 before | Expand all | Expand 10 after
2890 return; 2893 return;
2891 Ostream &Str = Func->getContext()->getStrDump(); 2894 Ostream &Str = Func->getContext()->getStrDump();
2892 Str << "IACA_END"; 2895 Str << "IACA_END";
2893 } 2896 }
2894 2897
2895 } // end of namespace X86NAMESPACE 2898 } // end of namespace X86NAMESPACE
2896 2899
2897 } // end of namespace Ice 2900 } // end of namespace Ice
2898 2901
2899 #endif // SUBZERO_SRC_ICEINSTX86BASEIMPL_H 2902 #endif // SUBZERO_SRC_ICEINSTX86BASEIMPL_H
OLDNEW
« src/IceCfgNode.cpp ('K') | « src/IceCfgNode.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698