eliminate code related to --no-ir-gen
BUG=
R=stichnot@chromium.org
Review URL: https://codereview.chromium.org/1522433004 .
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 30c9f96..4cf29da 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,7 +16,6 @@
-DALLOW_LLVM_CL=0
-DALLOW_LLVM_IR=0
-DALLOW_LLVM_IR_AS_INPUT=0
- -DALLOW_DISABLE_IR_GEN=0
-DALLOW_MINIMAL_BUILD=1
-DPNACL_BROWSER_TRANSLATOR=1
)
@@ -26,7 +25,6 @@
-DALLOW_LLVM_CL=1
-DALLOW_LLVM_IR=1
-DALLOW_LLVM_IR_AS_INPUT=1
- -DALLOW_DISABLE_IR_GEN=1
-DALLOW_MINIMAL_BUILD=0
-DPNACL_BROWSER_TRANSLATOR=0
)
diff --git a/Makefile b/Makefile
index cf86103..b1564c8 100644
--- a/Makefile
+++ b/Makefile
@@ -21,11 +21,11 @@
ifeq ($(PNACL_BROWSER_TRANSLATOR),1)
CPP.Defines += -DALLOW_DUMP=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 \
- -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_DISABLE_IR_GEN=0 \
- -DALLOW_MINIMAL_BUILD=1 -DPNACL_BROWSER_TRANSLATOR=1
+ -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=1 \
+ -DPNACL_BROWSER_TRANSLATOR=1
else
CPP.Defines += -DALLOW_DUMP=1 -DALLOW_LLVM_CL=1 -DALLOW_LLVM_IR=1 \
- -DALLOW_LLVM_IR_AS_INPUT=1 -DALLOW_DISABLE_IR_GEN=1 \
- -DALLOW_MINIMAL_BUILD=0 -DPNACL_BROWSER_TRANSLATOR=0
+ -DALLOW_LLVM_IR_AS_INPUT=1 -DALLOW_MINIMAL_BUILD=0 \
+ -DPNACL_BROWSER_TRANSLATOR=0
endif
diff --git a/Makefile.standalone b/Makefile.standalone
index 940817c..2997247 100644
--- a/Makefile.standalone
+++ b/Makefile.standalone
@@ -78,12 +78,10 @@
NOASSERT = 1
OBJDIR := $(OBJDIR)+Min
BASE_CXX_DEFINES += -DALLOW_DUMP=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 \
- -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_DISABLE_IR_GEN=0 \
- -DALLOW_MINIMAL_BUILD=1
+ -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=1
else
BASE_CXX_DEFINES += -DALLOW_DUMP=1 -DALLOW_LLVM_CL=1 -DALLOW_LLVM_IR=1 \
- -DALLOW_LLVM_IR_AS_INPUT=1 -DALLOW_DISABLE_IR_GEN=1 \
- -DALLOW_MINIMAL_BUILD=0
+ -DALLOW_LLVM_IR_AS_INPUT=1 -DALLOW_MINIMAL_BUILD=0
endif
SB_CXX_DEFINES := $(BASE_CXX_DEFINES) -DPNACL_BROWSER_TRANSLATOR=1
diff --git a/src/IceBuildDefs.h b/src/IceBuildDefs.h
index 5dabd9a..fc06f65 100644
--- a/src/IceBuildDefs.h
+++ b/src/IceBuildDefs.h
@@ -15,70 +15,66 @@
#define SUBZERO_SRC_ICEBUILDDEFS_H
namespace Ice {
- /// \brief Defines constexpr functions that express various Subzero build
- /// system defined values.
- ///
- /// These resulting constexpr functions allow code to in effect be
- /// conditionally compiled without having to do this using the older C++
- /// preprocessor solution.
+/// \brief Defines constexpr functions that express various Subzero build
+/// system defined values.
+///
+/// These resulting constexpr functions allow code to in effect be
+/// conditionally compiled without having to do this using the older C++
+/// preprocessor solution.
- /** \verbatim
+/** \verbatim
- For example whenever the value of FEATURE_SUPPORTED is needed, instead
- of (except in these constexpr functions):
+ For example whenever the value of FEATURE_SUPPORTED is needed, instead
+ of (except in these constexpr functions):
- #if FEATURE_SUPPORTED ...
- ...
- #endif
+ #if FEATURE_SUPPORTED ...
+ ...
+ #endif
- We can have:
+ We can have:
- namespace Ice {
- namespace BuildDefs {
+ namespace Ice {
+ namespace BuildDefs {
- // Use this form when FEATURE_SUPPORTED is guaranteed to be defined on the
- // C++ compiler command line as 0 or 1.
- constexpr bool hasFeature() { return FEATURE_SUPPORTED; }
+ // Use this form when FEATURE_SUPPORTED is guaranteed to be defined on the
+ // C++ compiler command line as 0 or 1.
+ constexpr bool hasFeature() { return FEATURE_SUPPORTED; }
- or
+ or
- // Use this form when FEATURE_SUPPORTED may not necessarily be defined on
- // the C++ compiler command line.
- constexpr bool hasFeature() {
- #if FEATURE_SUPPORTED
- return true;
- #else // !FEATURE_SUPPORTED
- return false;
- #endif // !FEATURE_SUPPORTED
- }
+ // Use this form when FEATURE_SUPPORTED may not necessarily be defined on
+ // the C++ compiler command line.
+ constexpr bool hasFeature() {
+ #if FEATURE_SUPPORTED
+ return true;
+ #else // !FEATURE_SUPPORTED
+ return false;
+ #endif // !FEATURE_SUPPORTED
+ }
- ...} // end of namespace BuildDefs
- } // end of namespace Ice
+ ...} // end of namespace BuildDefs
+ } // end of namespace Ice
- And later in the code:
+ And later in the code:
- if (Ice::BuildDefs::hasFeature() {
- ...
- }
+ if (Ice::BuildDefs::hasFeature() {
+ ...
+ }
- \endverbatim
+ \endverbatim
- Since hasFeature() returns a constexpr, an optimizing compiler will know to
- keep or discard the above fragment. In addition, the code will always be
- looked at by the compiler which eliminates the problem with defines in that
- if you don't build that variant, you don't even know if the code would
- compile unless you build with that variant.
+ Since hasFeature() returns a constexpr, an optimizing compiler will know to
+ keep or discard the above fragment. In addition, the code will always be
+ looked at by the compiler which eliminates the problem with defines in that
+ if you don't build that variant, you don't even know if the code would
+ compile unless you build with that variant.
- **/
-
+ **/
namespace BuildDefs {
// The ALLOW_* etc. symbols must be #defined to zero or non-zero.
-/// Return true if ALLOW_DISABLE_IR_GEN is defined as a non-zero value
-constexpr bool disableIrGen() { return ALLOW_DISABLE_IR_GEN; }
-/// Return true if ALLOW_DUMP is defined as a non-zero value
constexpr bool dump() { return ALLOW_DUMP; }
/// Return true if ALLOW_LLVM_CL is defined as a non-zero value
constexpr bool llvmCl() { return ALLOW_LLVM_CL; }
diff --git a/src/IceClFlags.cpp b/src/IceClFlags.cpp
index b922d40..56b0585 100644
--- a/src/IceClFlags.cpp
+++ b/src/IceClFlags.cpp
@@ -82,9 +82,7 @@
cl::opt<bool> DisableInternal("externalize",
cl::desc("Externalize all symbols"));
-// Note: Modifiable only if ALLOW_DISABLE_IR_GEN.
-cl::opt<bool> DisableIRGeneration("no-ir-gen",
- cl::desc("Disable generating Subzero IR."));
+
cl::opt<bool> DisableTranslation("notranslate",
cl::desc("Disable Subzero translation"));
@@ -390,7 +388,6 @@
OutFlags.DecorateAsm = false;
OutFlags.DisableHybridAssembly = false;
OutFlags.DisableInternal = false;
- OutFlags.DisableIRGeneration = false;
OutFlags.DisableTranslation = false;
OutFlags.DumpStats = false;
OutFlags.EnableBlockProfile = false;
@@ -434,9 +431,6 @@
}
void ClFlags::getParsedClFlags(ClFlags &OutFlags) {
- if (::DisableIRGeneration)
- ::DisableTranslation = true;
-
Ice::VerboseMask VMask = Ice::IceV_None;
// Don't generate verbose messages if routines to dump messages are not
// available.
@@ -457,7 +451,6 @@
OutFlags.setDisableHybridAssembly(::DisableHybridAssembly ||
(::OutFileType != Ice::FT_Iasm));
OutFlags.setDisableInternal(::DisableInternal);
- OutFlags.setDisableIRGeneration(::DisableIRGeneration);
OutFlags.setDisableTranslation(::DisableTranslation);
OutFlags.setDumpStats(::DumpStats);
OutFlags.setEnableBlockProfile(::EnableBlockProfile);
diff --git a/src/IceClFlags.h b/src/IceClFlags.h
index a514a9b..1beb2a0 100644
--- a/src/IceClFlags.h
+++ b/src/IceClFlags.h
@@ -70,11 +70,6 @@
bool getDisableInternal() const { return DisableInternal; }
void setDisableInternal(bool NewValue) { DisableInternal = NewValue; }
- bool getDisableIRGeneration() const {
- return BuildDefs::disableIrGen() && DisableIRGeneration;
- }
- void setDisableIRGeneration(bool NewValue) { DisableIRGeneration = NewValue; }
-
bool getDisableTranslation() const { return DisableTranslation; }
void setDisableTranslation(bool NewValue) { DisableTranslation = NewValue; }
@@ -260,7 +255,6 @@
bool DecorateAsm;
bool DisableHybridAssembly;
bool DisableInternal;
- bool DisableIRGeneration;
bool DisableTranslation;
bool DumpStats;
bool EnableBlockProfile;
diff --git a/src/IceCompiler.cpp b/src/IceCompiler.cpp
index 82f99a9..2d70b66 100644
--- a/src/IceCompiler.cpp
+++ b/src/IceCompiler.cpp
@@ -47,7 +47,6 @@
int FlagValue;
} ConditionalBuildAttributes[] = {
{"dump", BuildDefs::dump()},
- {"disable_ir_gen", BuildDefs::disableIrGen()},
{"llvm_cl", BuildDefs::llvmCl()},
{"llvm_ir", BuildDefs::llvmIr()},
{"llvm_ir_as_input", BuildDefs::llvmIrAsInput()},
@@ -95,12 +94,6 @@
if (ExtraFlags.getGenerateBuildAtts())
return Ctx.getErrorStatus()->assign(EC_None);
- if (!BuildDefs::disableIrGen() && Ctx.getFlags().getDisableIRGeneration()) {
- Ctx.getStrError() << "Error: Build doesn't allow --no-ir-gen when not "
- << "ALLOW_DISABLE_IR_GEN!\n";
- return Ctx.getErrorStatus()->assign(EC_Args);
- }
-
// The Minimal build (specifically, when dump()/emit() are not implemented)
// allows only --filetype=obj. Check here to avoid cryptic error messages
// downstream.
diff --git a/src/IceConverter.cpp b/src/IceConverter.cpp
index 58b1d3a..e976a8b 100644
--- a/src/IceConverter.cpp
+++ b/src/IceConverter.cpp
@@ -89,8 +89,6 @@
: LLVM2ICEConverter(Converter), Func(nullptr) {}
void convertFunction(const Function *F) {
- if (Ctx->isIRGenerationDisabled())
- return;
Func = Ice::Cfg::create(Ctx, Converter.getNextSequenceNumber());
Ice::Cfg::setCurrentCfg(Func.get());
diff --git a/src/IceGlobalContext.h b/src/IceGlobalContext.h
index ec4e717..01724fb 100644
--- a/src/IceGlobalContext.h
+++ b/src/IceGlobalContext.h
@@ -222,10 +222,6 @@
const ClFlags &getFlags() const { return Flags; }
- bool isIRGenerationDisabled() const {
- return getFlags().getDisableIRGeneration();
- }
-
/// Allocate data of type T using the global allocator. We allow entities
/// allocated from this global allocator to be either trivially or
/// non-trivially destructible. We optimize the case when T is trivially
diff --git a/src/IceOperand.h b/src/IceOperand.h
index 7398f73..67ff09f 100644
--- a/src/IceOperand.h
+++ b/src/IceOperand.h
@@ -166,8 +166,6 @@
static ConstantPrimitive *create(GlobalContext *Ctx, Type Ty,
PrimType Value) {
- assert(!Ctx->isIRGenerationDisabled() &&
- "Attempt to build primitive constant when IR generation disabled");
return new (Ctx->allocate<ConstantPrimitive>())
ConstantPrimitive(Ty, Value);
}
@@ -279,8 +277,6 @@
public:
static ConstantRelocatable *create(GlobalContext *Ctx, Type Ty,
const RelocatableTuple &Tuple) {
- assert(!Ctx->isIRGenerationDisabled() &&
- "Attempt to build relocatable constant when IR generation disabled");
return new (Ctx->allocate<ConstantRelocatable>()) ConstantRelocatable(
Ty, Tuple.Offset, Tuple.Name, Tuple.SuppressMangling);
}
@@ -320,8 +316,6 @@
public:
static ConstantUndef *create(GlobalContext *Ctx, Type Ty) {
- assert(!Ctx->isIRGenerationDisabled() &&
- "Attempt to build undefined constant when IR generation disabled");
return new (Ctx->allocate<ConstantUndef>()) ConstantUndef(Ty);
}
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp
index bdb524c..ddf6342 100644
--- a/src/PNaClTranslator.cpp
+++ b/src/PNaClTranslator.cpp
@@ -250,11 +250,6 @@
size_t getNumTypeIDValues() const { return TypeIDValues.size(); }
- /// Returns true if generation of Subzero IR is disabled.
- bool isIRGenerationDisabled() const {
- return Translator.getFlags().getDisableIRGeneration();
- }
-
/// Returns the undefined type associated with type ID. Note: Returns extended
/// type ready to be defined.
ExtendedType *getTypeByIDForDefining(NaClBcIndexSize_t ID) {
@@ -534,11 +529,8 @@
for (const Ice::FunctionDeclaration *Func : FunctionDeclarations) {
if (!Func->verifyLinkageCorrect(Ctx))
reportLinkageError("Function", *Func);
- Ice::Constant *C = nullptr;
- if (!isIRGenerationDisabled()) {
- C = getConstantSym(Func->getName(), Func->getSuppressMangling(),
- Func->isProto());
- }
+ Ice::Constant *C = getConstantSym(
+ Func->getName(), Func->getSuppressMangling(), Func->isProto());
ValueIDConstants.push_back(C);
}
}
@@ -549,11 +541,9 @@
for (const Ice::VariableDeclaration *Decl : *VariableDeclarations) {
if (!Decl->verifyLinkageCorrect(Ctx))
reportLinkageError("Global", *Decl);
- Ice::Constant *C = nullptr;
- if (!isIRGenerationDisabled()) {
- C = getConstantSym(Decl->getName(), Decl->getSuppressMangling(),
- !Decl->hasInitializer());
- }
+ Ice::Constant *C =
+ getConstantSym(Decl->getName(), Decl->getSuppressMangling(),
+ !Decl->hasInitializer());
ValueIDConstants.push_back(C);
}
}
@@ -681,10 +671,6 @@
const Ice::ClFlags &getFlags() const { return getTranslator().getFlags(); }
- bool isIRGenerationDisabled() const {
- return getTranslator().getFlags().getDisableIRGeneration();
- }
-
// Default implementation. Reports that block is unknown and skips its
// contents.
bool ParseBlock(unsigned BlockID) override;
@@ -1145,11 +1131,9 @@
uint32_t Alignment =
Context->extractAlignment(this, "Global variable", Values[0]);
CurGlobalVar = getGlobalVarByID(NextGlobalID);
- if (!isIRGenerationDisabled()) {
- InitializersNeeded = 1;
- CurGlobalVar->setAlignment(Alignment);
- CurGlobalVar->setIsConstant(Values[1] != 0);
- }
+ InitializersNeeded = 1;
+ CurGlobalVar->setAlignment(Alignment);
+ CurGlobalVar->setIsConstant(Values[1] != 0);
++NextGlobalID;
return;
}
@@ -1169,16 +1153,12 @@
Error(StrBuf.str());
return;
}
- if (isIRGenerationDisabled())
- return;
InitializersNeeded = Values[0];
return;
case naclbitc::GLOBALVAR_ZEROFILL: {
// ZEROFILL: [size]
if (!isValidRecordSize(1, "zerofill"))
return;
- if (isIRGenerationDisabled())
- return;
CurGlobalVar->addInitializer(
Ice::VariableDeclaration::ZeroInitializer::create(Values[0]));
return;
@@ -1187,8 +1167,6 @@
// DATA: [b0, b1, ...]
if (!isValidRecordSizeAtLeast(1, "data"))
return;
- if (isIRGenerationDisabled())
- return;
CurGlobalVar->addInitializer(
Ice::VariableDeclaration::DataInitializer::create(Values));
return;
@@ -1197,8 +1175,6 @@
// RELOC: [val, [addend]]
if (!isValidRecordSizeInRange(1, 2, "reloc"))
return;
- if (isIRGenerationDisabled())
- return;
NaClBcIndexSize_t Index = Values[0];
NaClBcIndexSize_t IndexLimit = SpecifiedNumberVars + NumFunctionIDs;
if (Index >= IndexLimit) {
@@ -1365,22 +1341,16 @@
// TODO(kschimpf) Clean up API to add a function signature to a CFG.
const Ice::FuncSigType &Signature = FuncDecl->getSignature();
- if (isIRGenerationDisabled()) {
- CurrentNode = nullptr;
- for (Ice::Type ArgType : Signature.getArgList()) {
- (void)ArgType;
- setNextLocalInstIndex(nullptr);
- }
- } else {
- Func->setFunctionName(FuncDecl->getName());
- Func->setReturnType(Signature.getReturnType());
- Func->setInternal(FuncDecl->getLinkage() == GlobalValue::InternalLinkage);
- CurrentNode = installNextBasicBlock();
- Func->setEntryNode(CurrentNode);
- for (Ice::Type ArgType : Signature.getArgList()) {
- Func->addArg(getNextInstVar(ArgType));
- }
+
+ Func->setFunctionName(FuncDecl->getName());
+ Func->setReturnType(Signature.getReturnType());
+ Func->setInternal(FuncDecl->getLinkage() == GlobalValue::InternalLinkage);
+ CurrentNode = installNextBasicBlock();
+ Func->setEntryNode(CurrentNode);
+ for (Ice::Type ArgType : Signature.getArgList()) {
+ Func->addArg(getNextInstVar(ArgType));
}
+
bool ParserResult = ParseThisBlock();
// Temporarily end per-function timing, which will be resumed by the
@@ -1424,8 +1394,6 @@
if (Index < CachedNumGlobalValueIDs) {
return Context->getGlobalConstantByID(Index);
}
- if (isIRGenerationDisabled())
- return nullptr;
NaClBcIndexSize_t LocalIndex = Index - CachedNumGlobalValueIDs;
if (LocalIndex >= LocalOperands.size())
reportGetOperandUndefined(Index);
@@ -1480,14 +1448,12 @@
// Creates and appends a new basic block to the list of basic blocks.
Ice::CfgNode *installNextBasicBlock() {
- assert(!isIRGenerationDisabled());
Ice::CfgNode *Node = Func->makeNode();
return Node;
}
// Returns the Index-th basic block in the list of basic blocks.
Ice::CfgNode *getBasicBlock(NaClBcIndexSize_t Index) {
- assert(!isIRGenerationDisabled());
if (Index >= Func->getNumNodes()) {
std::string Buffer;
raw_string_ostream StrBuf(Buffer);
@@ -1503,7 +1469,6 @@
// Index corresponds to a branch instruction. Hence, if the branch references
// the entry block, it also generates a corresponding error.
Ice::CfgNode *getBranchBasicBlock(NaClBcIndexSize_t Index) {
- assert(!isIRGenerationDisabled());
if (Index == 0) {
Error("Branch to entry block not allowed");
}
@@ -1512,7 +1477,6 @@
// Generate an instruction variable with type Ty.
Ice::Variable *createInstVar(Ice::Type Ty) {
- assert(!isIRGenerationDisabled());
if (Ty == Ice::IceType_void) {
Error("Can't define instruction value using type void");
// Recover since we can't throw an exception.
@@ -1523,7 +1487,6 @@
// Generates the next available local variable using the given type.
Ice::Variable *getNextInstVar(Ice::Type Ty) {
- assert(!isIRGenerationDisabled());
assert(NextLocalInstIndex >= CachedNumGlobalValueIDs);
// Before creating one, see if a forwardtyperef has already defined it.
NaClBcIndexSize_t LocalIndex = NextLocalInstIndex - CachedNumGlobalValueIDs;
@@ -1566,7 +1529,7 @@
// Sets element Index (in the local operands list) to Op.
void setOperand(NaClBcIndexSize_t Index, Ice::Operand *Op) {
- assert(Op || isIRGenerationDisabled());
+ assert(Op);
// Check if simple push works.
NaClBcIndexSize_t LocalIndex = Index - CachedNumGlobalValueIDs;
if (LocalIndex == LocalOperands.size()) {
@@ -2134,8 +2097,6 @@
// Check if the last instruction in the function was terminating.
if (!InstIsTerminating) {
Error("Last instruction in function not terminator");
- if (isIRGenerationDisabled())
- return;
// Recover by inserting an unreachable instruction.
CurrentNode->appendInst(Ice::InstUnreachable::create(Func.get()));
}
@@ -2147,8 +2108,6 @@
<< " basic blocks, but defined " << CurrentBbIndex << ".";
Error(StrBuf.str());
}
- if (isIRGenerationDisabled())
- return;
// Before translating, check for blocks without instructions, and insert
// unreachable. This shouldn't happen, but be safe.
size_t Index = 0;
@@ -2183,8 +2142,7 @@
if (InstIsTerminating) {
InstIsTerminating = false;
++CurrentBbIndex;
- if (!isIRGenerationDisabled())
- CurrentNode = getBasicBlock(CurrentBbIndex);
+ CurrentNode = getBasicBlock(CurrentBbIndex);
}
// The base index for relative indexing.
NaClBcIndexSize_t BaseIndex = getNextInstIndex();
@@ -2217,8 +2175,6 @@
}
DeclaredNumberBbs = NumBbs;
- if (isIRGenerationDisabled())
- return;
// Install the basic blocks, skipping bb0 which was created in the
// constructor.
for (size_t i = 1; i < NumBbs; ++i)
@@ -2231,11 +2187,6 @@
return;
Ice::Operand *Op1 = getRelativeOperand(Values[0], BaseIndex);
Ice::Operand *Op2 = getRelativeOperand(Values[1], BaseIndex);
- if (isIRGenerationDisabled()) {
- assert(Op1 == nullptr && Op2 == nullptr);
- setNextLocalInstIndex(nullptr);
- return;
- }
Ice::Type Type1 = Op1->getType();
Ice::Type Type2 = Op2->getType();
if (Type1 != Type2) {
@@ -2263,11 +2214,6 @@
Ice::Operand *Src = getRelativeOperand(Values[0], BaseIndex);
Ice::Type CastType = Context->getSimpleTypeByID(Values[1]);
Ice::InstCast::OpKind CastKind;
- if (isIRGenerationDisabled()) {
- assert(Src == nullptr);
- setNextLocalInstIndex(nullptr);
- return;
- }
if (!convertCastOpToIceOp(Values[2], Src->getType(), CastType, CastKind)) {
appendErrorInstruction(CastType);
return;
@@ -2283,11 +2229,6 @@
Ice::Operand *ThenVal = getRelativeOperand(Values[0], BaseIndex);
Ice::Operand *ElseVal = getRelativeOperand(Values[1], BaseIndex);
Ice::Operand *CondVal = getRelativeOperand(Values[2], BaseIndex);
- if (isIRGenerationDisabled()) {
- assert(ThenVal == nullptr && ElseVal == nullptr && CondVal == nullptr);
- setNextLocalInstIndex(nullptr);
- return;
- }
Ice::Type ThenType = ThenVal->getType();
Ice::Type ElseType = ElseVal->getType();
if (ThenType != ElseType) {
@@ -2331,11 +2272,6 @@
return;
Ice::Operand *Vec = getRelativeOperand(Values[0], BaseIndex);
Ice::Operand *Index = getRelativeOperand(Values[1], BaseIndex);
- if (isIRGenerationDisabled()) {
- assert(Vec == nullptr && Index == nullptr);
- setNextLocalInstIndex(nullptr);
- return;
- }
Ice::Type VecType = Vec->getType();
VectorIndexCheckValue IndexCheckValue = validateVectorIndex(Vec, Index);
if (IndexCheckValue != VectorIndexValid) {
@@ -2359,11 +2295,6 @@
Ice::Operand *Vec = getRelativeOperand(Values[0], BaseIndex);
Ice::Operand *Elt = getRelativeOperand(Values[1], BaseIndex);
Ice::Operand *Index = getRelativeOperand(Values[2], BaseIndex);
- if (isIRGenerationDisabled()) {
- assert(Vec == nullptr && Elt == nullptr && Index == nullptr);
- setNextLocalInstIndex(nullptr);
- return;
- }
Ice::Type VecType = Vec->getType();
VectorIndexCheckValue IndexCheckValue = validateVectorIndex(Vec, Index);
if (IndexCheckValue != VectorIndexValid) {
@@ -2397,11 +2328,6 @@
return;
Ice::Operand *Op1 = getRelativeOperand(Values[0], BaseIndex);
Ice::Operand *Op2 = getRelativeOperand(Values[1], BaseIndex);
- if (isIRGenerationDisabled()) {
- assert(Op1 == nullptr && Op2 == nullptr);
- setNextLocalInstIndex(nullptr);
- return;
- }
Ice::Type Op1Type = Op1->getType();
Ice::Type Op2Type = Op2->getType();
Ice::Type DestType = getCompareResultType(Op1Type);
@@ -2463,15 +2389,9 @@
if (!isValidRecordSizeInRange(0, 1, "return"))
return;
if (Values.empty()) {
- if (isIRGenerationDisabled())
- return;
CurrentNode->appendInst(Ice::InstRet::create(Func.get()));
} else {
Ice::Operand *RetVal = getRelativeOperand(Values[0], BaseIndex);
- if (isIRGenerationDisabled()) {
- assert(RetVal == nullptr);
- return;
- }
CurrentNode->appendInst(Ice::InstRet::create(Func.get(), RetVal));
}
return;
@@ -2480,8 +2400,6 @@
InstIsTerminating = true;
if (Values.size() == 1) {
// BR: [bb#]
- if (isIRGenerationDisabled())
- return;
Ice::CfgNode *Block = getBranchBasicBlock(Values[0]);
if (Block == nullptr)
return;
@@ -2491,10 +2409,6 @@
if (!isValidRecordSize(3, "branch"))
return;
Ice::Operand *Cond = getRelativeOperand(Values[2], BaseIndex);
- if (isIRGenerationDisabled()) {
- assert(Cond == nullptr);
- return;
- }
if (Cond->getType() != Ice::IceType_i1) {
std::string Buffer;
raw_string_ostream StrBuf(Buffer);
@@ -2535,10 +2449,7 @@
Ice::SizeT BitWidth = Ice::getScalarIntBitWidth(CondTy);
Ice::Operand *Cond = getRelativeOperand(Values[1], BaseIndex);
- const bool isIRGenDisabled = isIRGenerationDisabled();
- if (isIRGenDisabled) {
- assert(Cond == nullptr);
- } else if (CondTy != Cond->getType()) {
+ if (CondTy != Cond->getType()) {
std::string Buffer;
raw_string_ostream StrBuf(Buffer);
StrBuf << "Case condition expects type " << CondTy
@@ -2546,8 +2457,7 @@
Error(StrBuf.str());
return;
}
- Ice::CfgNode *DefaultLabel =
- isIRGenDisabled ? nullptr : getBranchBasicBlock(Values[2]);
+ Ice::CfgNode *DefaultLabel = getBranchBasicBlock(Values[2]);
if (DefaultLabel == nullptr)
return;
uint64_t NumCasesRaw = Values[3];
@@ -2564,9 +2474,7 @@
if (!isValidRecordSize(4 + NumCases * 4, "switch"))
return;
std::unique_ptr<Ice::InstSwitch> Switch(
- isIRGenDisabled ? nullptr
- : Ice::InstSwitch::create(Func.get(), NumCases, Cond,
- DefaultLabel));
+ Ice::InstSwitch::create(Func.get(), NumCases, Cond, DefaultLabel));
unsigned ValCaseIndex = 4; // index to beginning of case entry.
for (uint32_t CaseIndex = 0; CaseIndex < NumCases;
++CaseIndex, ValCaseIndex += 4) {
@@ -2580,15 +2488,11 @@
}
BitcodeInt Value(BitWidth,
NaClDecodeSignRotatedValue(Values[ValCaseIndex + 2]));
- if (isIRGenDisabled)
- continue;
Ice::CfgNode *Label = getBranchBasicBlock(Values[ValCaseIndex + 3]);
if (Label == nullptr)
return;
Switch->addBranch(CaseIndex, Value.getSExtValue(), Label);
}
- if (isIRGenDisabled)
- return;
CurrentNode->appendInst(Switch.release());
return;
}
@@ -2597,8 +2501,6 @@
InstIsTerminating = true;
if (!isValidRecordSize(0, "unreachable"))
return;
- if (isIRGenerationDisabled())
- return;
CurrentNode->appendInst(Ice::InstUnreachable::create(Func.get()));
return;
}
@@ -2620,15 +2522,6 @@
Error("Phi record using type void not allowed");
return;
}
- if (isIRGenerationDisabled()) {
- // Verify arguments are defined before quitting.
- for (unsigned i = 1; i < Values.size(); i += 2) {
- assert(getRelativeOperand(NaClDecodeSignRotatedValue(Values[i]),
- BaseIndex) == nullptr);
- }
- setNextLocalInstIndex(nullptr);
- return;
- }
Ice::Variable *Dest = getNextInstVar(Ty);
Ice::InstPhi *Phi =
Ice::InstPhi::create(Func.get(), Values.size() >> 1, Dest);
@@ -2655,11 +2548,6 @@
return;
Ice::Operand *ByteCount = getRelativeOperand(Values[0], BaseIndex);
uint32_t Alignment = Context->extractAlignment(this, "Alloca", Values[1]);
- if (isIRGenerationDisabled()) {
- assert(ByteCount == nullptr);
- setNextLocalInstIndex(nullptr);
- return;
- }
Ice::Type PtrTy = Ice::getPointerType();
if (ByteCount->getType() != Ice::IceType_i32) {
std::string Buffer;
@@ -2680,11 +2568,6 @@
Ice::Operand *Address = getRelativeOperand(Values[0], BaseIndex);
Ice::Type Ty = Context->getSimpleTypeByID(Values[2]);
uint32_t Alignment = Context->extractAlignment(this, "Load", Values[1]);
- if (isIRGenerationDisabled()) {
- assert(Address == nullptr);
- setNextLocalInstIndex(nullptr);
- return;
- }
if (!isValidPointerType(Address, "Load")) {
appendErrorInstruction(Ty);
return;
@@ -2704,10 +2587,6 @@
Ice::Operand *Address = getRelativeOperand(Values[0], BaseIndex);
Ice::Operand *Value = getRelativeOperand(Values[1], BaseIndex);
uint32_t Alignment = Context->extractAlignment(this, "Store", Values[2]);
- if (isIRGenerationDisabled()) {
- assert(Address == nullptr && Value == nullptr);
- return;
- }
if (!isValidPointerType(Address, "Store"))
return;
if (!isValidLoadStoreAlignment(Alignment, Value->getType(), "Store"))
@@ -2785,19 +2664,17 @@
} else { // Record.GetCode() == naclbitc::FUNC_CODE_INST_CALL_INDIRECT
// There is no signature. Assume defined by parameter types.
ReturnType = Context->getSimpleTypeByID(Values[2]);
- if (!isIRGenerationDisabled() && Callee != nullptr)
+ if (Callee != nullptr)
isValidPointerType(Callee, "Call indirect");
}
- if (Callee == nullptr && !isIRGenerationDisabled())
+ if (Callee == nullptr)
return;
// Extract out the the call parameters.
SmallVector<Ice::Operand *, 8> Params;
for (Ice::SizeT Index = ParamsStartIndex; Index < Values.size(); ++Index) {
Ice::Operand *Op = getRelativeOperand(Values[Index], BaseIndex);
- if (isIRGenerationDisabled())
- continue;
if (Op == nullptr) {
std::string Buffer;
raw_string_ostream StrBuf(Buffer);
@@ -2821,12 +2698,6 @@
ReturnType = Ice::IceType_i32;
}
- if (isIRGenerationDisabled()) {
- if (ReturnType != Ice::IceType_void)
- setNextLocalInstIndex(nullptr);
- return;
- }
-
// Type check call parameters.
for (Ice::SizeT Index = 0; Index < Params.size(); ++Index) {
Ice::Operand *Op = Params[Index];
@@ -2883,8 +2754,7 @@
if (!isValidRecordSize(2, "forward type ref"))
return;
Ice::Type OpType = Context->getSimpleTypeByID(Values[1]);
- setOperand(Values[0],
- isIRGenerationDisabled() ? nullptr : createInstVar(OpType));
+ setOperand(Values[0], createInstVar(OpType));
return;
}
default:
@@ -2949,10 +2819,6 @@
return;
if (!isValidNextConstantType())
return;
- if (isIRGenerationDisabled()) {
- FuncParser->setNextConstantID(nullptr);
- return;
- }
FuncParser->setNextConstantID(
getContext()->getConstantUndef(NextConstantType));
return;
@@ -2963,10 +2829,6 @@
return;
if (!isValidNextConstantType())
return;
- if (isIRGenerationDisabled()) {
- FuncParser->setNextConstantID(nullptr);
- return;
- }
if (Ice::isScalarIntegerType(NextConstantType)) {
BitcodeInt Value(Ice::getScalarIntBitWidth(NextConstantType),
NaClDecodeSignRotatedValue(Values[0]));
@@ -2989,10 +2851,6 @@
return;
if (!isValidNextConstantType())
return;
- if (isIRGenerationDisabled()) {
- FuncParser->setNextConstantID(nullptr);
- return;
- }
switch (NextConstantType) {
case Ice::IceType_f32: {
const BitcodeInt Value(32, static_cast<uint32_t>(Values[0]));
@@ -3067,8 +2925,6 @@
reportUnableToAssign("Global value", Index, Name);
return;
}
- if (isIRGenerationDisabled())
- return;
Ice::Operand *Op = getFunctionParser()->getOperand(Index);
if (auto *V = dyn_cast<Ice::Variable>(Op)) {
if (Ice::BuildDefs::dump()) {
@@ -3084,8 +2940,6 @@
StringType &Name) {
if (!Ice::BuildDefs::dump())
return;
- if (isIRGenerationDisabled())
- return;
if (Index >= getFunctionParser()->getFunc()->getNumNodes()) {
reportUnableToAssign("Basic block", Index, Name);
return;
diff --git a/tests_lit/parse_errs/bad-bb-size.test b/tests_lit/parse_errs/bad-bb-size.test
index 1414c91..e27180a 100644
--- a/tests_lit/parse_errs/bad-bb-size.test
+++ b/tests_lit/parse_errs/bad-bb-size.test
@@ -3,7 +3,7 @@
; REQUIRES: no_minimal_build
; RUN: not %pnacl_sz -bitcode-as-text %p/Inputs/bad-bb-size.tbc \
-; RUN: -bitcode-format=pnacl -notranslate -no-ir-gen -build-on-read \
+; RUN: -bitcode-format=pnacl -notranslate -build-on-read \
; RUN: -allow-externally-defined-symbols 2>&1 \
; RUN: | FileCheck %s
diff --git a/tests_lit/parse_errs/bad-global-alignment.test b/tests_lit/parse_errs/bad-global-alignment.test
index 20cab35..5cef7ac 100644
--- a/tests_lit/parse_errs/bad-global-alignment.test
+++ b/tests_lit/parse_errs/bad-global-alignment.test
@@ -5,7 +5,7 @@
; REQUIRES: no_minimal_build
; RUN: not %pnacl_sz -bitcode-as-text %p/Inputs/bad-global-alignment.tbc \
-; RUN: -bitcode-format=pnacl -notranslate -no-ir-gen -build-on-read 2>&1 \
+; RUN: -bitcode-format=pnacl -notranslate -build-on-read 2>&1 \
; RUN: | FileCheck %s
; CHECK: Global variable alignment greater than 2**29. Found: 2**30
diff --git a/tests_lit/parse_errs/bad-var-fwdref.test b/tests_lit/parse_errs/bad-var-fwdref.test
index ebf20da..cf6cf7c 100644
--- a/tests_lit/parse_errs/bad-var-fwdref.test
+++ b/tests_lit/parse_errs/bad-var-fwdref.test
@@ -3,7 +3,7 @@
; REQUIRES: no_minimal_build
; RUN: not %pnacl_sz -bitcode-as-text %p/Inputs/bad-var-fwdref.tbc \
-; RUN: -bitcode-format=pnacl -notranslate -no-ir-gen -build-on-read \
+; RUN: -bitcode-format=pnacl -notranslate -build-on-read \
; RUN: -allow-externally-defined-symbols 2>&1 \
; RUN: | FileCheck %s
diff --git a/tests_lit/parse_errs/duplicate-fcn-name.test b/tests_lit/parse_errs/duplicate-fcn-name.test
index 2ff1a6c..5d72d36 100644
--- a/tests_lit/parse_errs/duplicate-fcn-name.test
+++ b/tests_lit/parse_errs/duplicate-fcn-name.test
@@ -3,7 +3,7 @@
; REQUIRES: no_minimal_build
; RUN: not %pnacl_sz -bitcode-as-text %p/Inputs/duplicate-fcn-name.tbc \
-; RUN: -bitcode-format=pnacl -notranslate -no-ir-gen -build-on-read 2>&1 \
+; RUN: -bitcode-format=pnacl -notranslate -build-on-read 2>&1 \
; RUN: | FileCheck %s
; CHECK: Module valuesymtab defines duplicate value name: 'f'
diff --git a/tests_lit/reader_tests/alloca.ll b/tests_lit/reader_tests/alloca.ll
index 034cc4f..bb18e74 100644
--- a/tests_lit/reader_tests/alloca.ll
+++ b/tests_lit/reader_tests/alloca.ll
@@ -1,9 +1,7 @@
; Test if we can read alloca instructions.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
; Show examples where size is defined by a constant.
diff --git a/tests_lit/reader_tests/binops.ll b/tests_lit/reader_tests/binops.ll
index 6436343..c4533ac 100644
--- a/tests_lit/reader_tests/binops.ll
+++ b/tests_lit/reader_tests/binops.ll
@@ -3,9 +3,7 @@
; RUN: %p2i -i %s --insts | FileCheck %s
; RUN: %l2i -i %s --insts | %ifl FileCheck %s
; RUN: %lc2i -i %s --insts | %iflc FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
; TODO(kschimpf): add i8/i16. Needs bitcasts.
diff --git a/tests_lit/reader_tests/branch.ll b/tests_lit/reader_tests/branch.ll
index 0b70223..5613fdb 100644
--- a/tests_lit/reader_tests/branch.ll
+++ b/tests_lit/reader_tests/branch.ll
@@ -1,9 +1,7 @@
; Tests if we handle a branch instructions.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal void @SimpleBranch() {
diff --git a/tests_lit/reader_tests/call.ll b/tests_lit/reader_tests/call.ll
index ab1cfec..59af96c 100644
--- a/tests_lit/reader_tests/call.ll
+++ b/tests_lit/reader_tests/call.ll
@@ -2,10 +2,8 @@
; RUN: %p2i -i %s --insts --args -allow-externally-defined-symbols \
; RUN: | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: -allow-externally-defined-symbols \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing \
+; RUN: -allow-externally-defined-symbols | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal i32 @fib(i32 %n) {
diff --git a/tests_lit/reader_tests/casts.ll b/tests_lit/reader_tests/casts.ll
index 2475379..901fa9a 100644
--- a/tests_lit/reader_tests/casts.ll
+++ b/tests_lit/reader_tests/casts.ll
@@ -1,9 +1,7 @@
; Tests if we can read cast operations.
; RUN: %p2i -i %s --insts --no-local-syms | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
; TODO(kschimpf) Find way to test pointer conversions (since they in general
diff --git a/tests_lit/reader_tests/compare.ll b/tests_lit/reader_tests/compare.ll
index d140bfd..7acc3b0 100644
--- a/tests_lit/reader_tests/compare.ll
+++ b/tests_lit/reader_tests/compare.ll
@@ -1,9 +1,7 @@
; Test if we can read compare instructions.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal i1 @IcmpI1(i32 %p1, i32 %p2) {
diff --git a/tests_lit/reader_tests/constants.ll b/tests_lit/reader_tests/constants.ll
index f6efeaf..e63112e 100644
--- a/tests_lit/reader_tests/constants.ll
+++ b/tests_lit/reader_tests/constants.ll
@@ -1,9 +1,7 @@
; Test handling of constants in function blocks.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal void @TestIntegers() {
diff --git a/tests_lit/reader_tests/forwardref.ll b/tests_lit/reader_tests/forwardref.ll
index 980f633..401f44f 100644
--- a/tests_lit/reader_tests/forwardref.ll
+++ b/tests_lit/reader_tests/forwardref.ll
@@ -3,9 +3,7 @@
; RUN: %p2i -i %s --insts | FileCheck %s
; RUN: llvm-as < %s | pnacl-freeze | pnacl-bcdis -no-records \
; RUN: | FileCheck --check-prefix=DUMP %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal void @LoopCarriedDep() {
diff --git a/tests_lit/reader_tests/globalinit.pnacl.ll b/tests_lit/reader_tests/globalinit.pnacl.ll
index 73c15e3..9d020f3 100644
--- a/tests_lit/reader_tests/globalinit.pnacl.ll
+++ b/tests_lit/reader_tests/globalinit.pnacl.ll
@@ -6,10 +6,8 @@
; RUN: | %ifl FileCheck %s
; RUN: %lc2i -i %s --insts --args -allow-externally-defined-symbols \
; RUN: | %iflc FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: -allow-externally-defined-symbols \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing \
+; RUN: -allow-externally-defined-symbols | \
; RUN: FileCheck --check-prefix=NOIR %s
@PrimitiveInit = internal global [4 x i8] c"\1B\00\00\00", align 4
diff --git a/tests_lit/reader_tests/globalrelocs.ll b/tests_lit/reader_tests/globalrelocs.ll
index 55d9524..b6869d1 100644
--- a/tests_lit/reader_tests/globalrelocs.ll
+++ b/tests_lit/reader_tests/globalrelocs.ll
@@ -3,9 +3,7 @@
; RUN: %p2i -i %s --insts | FileCheck %s
; RUN: %l2i -i %s --insts | %ifl FileCheck %s
; RUN: %lc2i -i %s --insts | %iflc FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
@bytes = internal global [7 x i8] c"abcdefg"
diff --git a/tests_lit/reader_tests/insertextract.ll b/tests_lit/reader_tests/insertextract.ll
index 8259065..ffdda6c 100644
--- a/tests_lit/reader_tests/insertextract.ll
+++ b/tests_lit/reader_tests/insertextract.ll
@@ -3,9 +3,7 @@
; RUN: %p2i -i %s --insts | FileCheck %s
; RUN: %l2i -i %s --insts | %ifl FileCheck %s
; RUN: %lc2i -i %s --insts | %iflc FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal void @ExtractV4xi1(<4 x i1> %v) {
diff --git a/tests_lit/reader_tests/load.ll b/tests_lit/reader_tests/load.ll
index 08d4e84..0d15992 100644
--- a/tests_lit/reader_tests/load.ll
+++ b/tests_lit/reader_tests/load.ll
@@ -1,9 +1,7 @@
; Test if we can read load instructions.
; RUN: %p2i --no-local-syms -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal i32 @load_i8(i32 %addr) {
diff --git a/tests_lit/reader_tests/nacl-atomic-intrinsics.ll b/tests_lit/reader_tests/nacl-atomic-intrinsics.ll
index d12c723..e0db3a2 100644
--- a/tests_lit/reader_tests/nacl-atomic-intrinsics.ll
+++ b/tests_lit/reader_tests/nacl-atomic-intrinsics.ll
@@ -1,9 +1,7 @@
; Test parsing NaCl atomic instructions.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
declare i8 @llvm.nacl.atomic.load.i8(i8*, i32)
diff --git a/tests_lit/reader_tests/nacl-other-intrinsics.ll b/tests_lit/reader_tests/nacl-other-intrinsics.ll
index 38cd72d..f1ef663 100644
--- a/tests_lit/reader_tests/nacl-other-intrinsics.ll
+++ b/tests_lit/reader_tests/nacl-other-intrinsics.ll
@@ -2,10 +2,8 @@
; RUN: %p2i -i %s --insts --args -allow-externally-defined-symbols \
; RUN: | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: -allow-externally-defined-symbols \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing \
+; RUN: -allow-externally-defined-symbols | \
; RUN: FileCheck --check-prefix=NOIR %s
declare i8* @llvm.nacl.read.tp()
diff --git a/tests_lit/reader_tests/phi.ll b/tests_lit/reader_tests/phi.ll
index a90bc4c..de35635 100644
--- a/tests_lit/reader_tests/phi.ll
+++ b/tests_lit/reader_tests/phi.ll
@@ -1,9 +1,7 @@
; Test reading phi instructions.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
; TODO(kschimpf) Add forward reference examples.
diff --git a/tests_lit/reader_tests/select.ll b/tests_lit/reader_tests/select.ll
index 834f1a8..a99c36d 100644
--- a/tests_lit/reader_tests/select.ll
+++ b/tests_lit/reader_tests/select.ll
@@ -1,9 +1,7 @@
; Tests if we can read select instructions.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal void @Seli1(i32 %p) {
diff --git a/tests_lit/reader_tests/store.ll b/tests_lit/reader_tests/store.ll
index 33f3302..de4dd77 100644
--- a/tests_lit/reader_tests/store.ll
+++ b/tests_lit/reader_tests/store.ll
@@ -1,9 +1,7 @@
; Test if we can read store instructions.
; RUN: %p2i -i %s --insts --no-local-syms | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal void @store_i8(i32 %addr) {
diff --git a/tests_lit/reader_tests/switch.ll b/tests_lit/reader_tests/switch.ll
index 5a6014d..27f7598 100644
--- a/tests_lit/reader_tests/switch.ll
+++ b/tests_lit/reader_tests/switch.ll
@@ -1,9 +1,7 @@
; Test switch instructions.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal void @testDefaultSwitch(i32 %a) {
diff --git a/tests_lit/reader_tests/unnamed.ll b/tests_lit/reader_tests/unnamed.ll
index b5db147..3f4e1fd 100644
--- a/tests_lit/reader_tests/unnamed.ll
+++ b/tests_lit/reader_tests/unnamed.ll
@@ -12,9 +12,7 @@
; RUN: -default-function-prefix=h -default-global-prefix=g \
; RUN: | FileCheck --check-prefix=BAD %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
; TODO(kschimpf) Check global variable declarations, once generated.
diff --git a/tests_lit/reader_tests/unreachable.ll b/tests_lit/reader_tests/unreachable.ll
index 7f12187..b9950bf 100644
--- a/tests_lit/reader_tests/unreachable.ll
+++ b/tests_lit/reader_tests/unreachable.ll
@@ -1,9 +1,7 @@
; Test parsing unreachable instruction.
; RUN: %p2i -i %s --insts | FileCheck %s
-; RUN: %if --need=allow_disable_ir_gen --command \
-; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
-; RUN: | %if --need=allow_disable_ir_gen --command \
+; RUN: %p2i -i %s --args -notranslate -timing | \
; RUN: FileCheck --check-prefix=NOIR %s
define internal i32 @divide(i32 %num, i32 %den) {