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

Unified Diff: src/IceOperand.h

Issue 1766233002: Subzero: Fix symbol name mangling. Make flags global. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Code review changes 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/IceMangling.cpp ('k') | src/IceOperand.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/IceOperand.h
diff --git a/src/IceOperand.h b/src/IceOperand.h
index f3a66fcba0c0ee488a802c6cb4258a97a7ef800d..982b50399fd6287dd8a5568da9f1208b95010f36 100644
--- a/src/IceOperand.h
+++ b/src/IceOperand.h
@@ -120,9 +120,8 @@ class Constant : public Operand {
Constant &operator=(const Constant &) = delete;
public:
- virtual void emitPoolLabel(Ostream &Str, const GlobalContext *Ctx) const {
+ virtual void emitPoolLabel(Ostream &Str) const {
(void)Str;
- (void)Ctx;
llvm::report_fatal_error("emitPoolLabel not defined for type");
};
void emit(const Cfg *Func) const override { emit(Func->getTarget()); }
@@ -172,7 +171,7 @@ public:
ConstantPrimitive(Ty, Value);
}
PrimType getValue() const { return Value; }
- void emitPoolLabel(Ostream &Str, const GlobalContext *Ctx) const final {
+ void emitPoolLabel(Ostream &Str) const final {
Str << ".L$" << getType() << "$";
// Print hex characters byte by byte, starting from the most significant
// byte. NOTE: This ordering assumes Subzero runs on a little-endian
@@ -188,7 +187,7 @@ public:
// human-readable sprintf form, changing '+' to 'p' and '-' to 'm' to
// maintain valid asm labels.
if (std::is_floating_point<PrimType>::value && !BuildDefs::minimal() &&
- Ctx->getFlags().getDecorateAsm()) {
+ GlobalContext::getFlags().getDecorateAsm()) {
char Buf[30];
snprintf(Buf, llvm::array_lengthof(Buf), "$%g", (double)Value);
for (unsigned i = 0; i < llvm::array_lengthof(Buf) && Buf[i]; ++i) {
@@ -302,16 +301,14 @@ class RelocatableTuple {
public:
RelocatableTuple(const RelocOffsetT Offset,
- const RelocOffsetArray &OffsetExpr, const IceString &Name,
- bool SuppressMangling)
- : Offset(Offset), OffsetExpr(OffsetExpr), Name(Name),
- SuppressMangling(SuppressMangling) {}
+ const RelocOffsetArray &OffsetExpr, const IceString &Name)
+ : Offset(Offset), OffsetExpr(OffsetExpr), Name(Name) {}
RelocatableTuple(const RelocOffsetT Offset,
const RelocOffsetArray &OffsetExpr, const IceString &Name,
- const IceString &EmitString, bool SuppressMangling)
+ const IceString &EmitString)
: Offset(Offset), OffsetExpr(OffsetExpr), Name(Name),
- EmitString(EmitString), SuppressMangling(SuppressMangling) {}
+ EmitString(EmitString) {}
RelocatableTuple(const RelocatableTuple &) = default;
@@ -319,7 +316,6 @@ public:
const RelocOffsetArray OffsetExpr;
const IceString Name;
const IceString EmitString;
- const bool SuppressMangling;
};
bool operator==(const RelocatableTuple &A, const RelocatableTuple &B);
@@ -334,9 +330,8 @@ class ConstantRelocatable : public Constant {
public:
static ConstantRelocatable *create(GlobalContext *Ctx, Type Ty,
const RelocatableTuple &Tuple) {
- return new (Ctx->allocate<ConstantRelocatable>())
- ConstantRelocatable(Ty, Tuple.Offset, Tuple.OffsetExpr, Tuple.Name,
- Tuple.EmitString, Tuple.SuppressMangling);
+ return new (Ctx->allocate<ConstantRelocatable>()) ConstantRelocatable(
+ Ty, Tuple.Offset, Tuple.OffsetExpr, Tuple.Name, Tuple.EmitString);
}
RelocOffsetT getOffset() const {
@@ -350,7 +345,6 @@ public:
const IceString &getEmitString() const { return EmitString; }
const IceString &getName() const { return Name; }
- bool getSuppressMangling() const { return SuppressMangling; }
using Constant::emit;
void emit(TargetLowering *Target) const final;
void emitWithoutPrefix(const TargetLowering *Target,
@@ -366,16 +360,14 @@ public:
private:
ConstantRelocatable(Type Ty, const RelocOffsetT Offset,
const RelocOffsetArray &OffsetExpr, const IceString &Name,
- const IceString &EmitString, bool SuppressMangling)
+ const IceString &EmitString)
: Constant(kConstRelocatable, Ty), Offset(Offset), OffsetExpr(OffsetExpr),
- Name(Name), EmitString(EmitString), SuppressMangling(SuppressMangling) {
- }
+ Name(Name), EmitString(EmitString) {}
const RelocOffsetT Offset; /// fixed, known offset to add
const RelocOffsetArray OffsetExpr; /// fixed, unknown offset to add
const IceString Name; /// optional for debug/dump
const IceString EmitString; /// optional for textual emission
- const bool SuppressMangling;
};
/// ConstantUndef represents an unspecified bit pattern. Although it is legal to
@@ -654,6 +646,8 @@ public:
/// Returns the variable's stack offset in symbolic form, to improve
/// readability in DecorateAsm mode.
IceString getSymbolicStackOffset(const Cfg *Func) const {
+ if (!BuildDefs::dump())
+ return "";
return "lv$" + getName(Func);
}
« no previous file with comments | « src/IceMangling.cpp ('k') | src/IceOperand.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698