Enables llvm dyn_cast for Assemblers.
IceCfg::getAssembler() is a template that simply static_casts the CFG's assembler. This could potentially be problematic in the future, so we enabled the (relatively) cheap llvm dyn_cast operator for Assemblers.
This CL also renames assembler_mips32.h to IceAssemblerMIPS32.h.
BUG=
R=stichnot@chromium.org
Review URL: https://codereview.chromium.org/1211863004.
diff --git a/src/IceTargetLowering.cpp b/src/IceTargetLowering.cpp
index 74ce567..25e013b 100644
--- a/src/IceTargetLowering.cpp
+++ b/src/IceTargetLowering.cpp
@@ -18,9 +18,9 @@
#include "IceTargetLowering.h"
#include "IceAssemblerARM32.h"
+#include "IceAssemblerMIPS32.h"
#include "IceAssemblerX8632.h"
#include "IceAssemblerX8664.h"
-#include "assembler_mips32.h"
#include "IceCfg.h" // setError()
#include "IceCfgNode.h"
#include "IceGlobalInits.h"
@@ -519,9 +519,8 @@
Var.getInitializers()) {
switch (Init->getKind()) {
case VariableDeclaration::Initializer::DataInitializerKind: {
- const auto &Data =
- llvm::cast<VariableDeclaration::DataInitializer>(Init.get())
- ->getContents();
+ const auto &Data = llvm::cast<VariableDeclaration::DataInitializer>(
+ Init.get())->getContents();
for (SizeT i = 0; i < Init->getNumBytes(); ++i) {
Str << "\t.byte\t" << (((unsigned)Data[i]) & 0xff) << "\n";
}