aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Wen Voung <jvoung@google.com>2013-03-08 22:56:31 +0000
committerJan Wen Voung <jvoung@google.com>2013-03-08 22:56:31 +0000
commitfa785cb22d50c657eb08c762d627cd6aa96982f3 (patch)
tree8cf730a27cbe3d59e14adb2e0e2ed6d3f836850b
parentd25c05efd55fe190a50965b31e04db69bd8e19de (diff)
downloadexternal_llvm-fa785cb22d50c657eb08c762d627cd6aa96982f3.zip
external_llvm-fa785cb22d50c657eb08c762d627cd6aa96982f3.tar.gz
external_llvm-fa785cb22d50c657eb08c762d627cd6aa96982f3.tar.bz2
Disable statistics on Release builds and move tests that depend on -stats.
Summary: Statistics are still available in Release+Asserts (any +Asserts builds), and stats can also be turned on with LLVM_ENABLE_STATS. Move some of the FastISel stats that were moved under DEBUG() back out of DEBUG(), since stats are disabled across the board now. Many tests depend on grepping "-stats" output. Move those into a orig_dir/Stats/. so that they can be marked as unsupported when building without statistics. Differential Revision: http://llvm-reviews.chandlerc.com/D486 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176733 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/ADT/Statistic.h44
-rw-r--r--lib/CodeGen/SelectionDAG/FastISel.cpp8
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp24
-rw-r--r--lib/Support/Statistic.cpp18
-rw-r--r--test/Analysis/RegionInfo/Stats/block_sort.ll (renamed from test/Analysis/RegionInfo/block_sort.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/cond_loop.ll (renamed from test/Analysis/RegionInfo/cond_loop.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/condition_complicated.ll (renamed from test/Analysis/RegionInfo/condition_complicated.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/condition_complicated_2.ll (renamed from test/Analysis/RegionInfo/condition_complicated_2.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/condition_forward_edge.ll (renamed from test/Analysis/RegionInfo/condition_forward_edge.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/condition_same_exit.ll (renamed from test/Analysis/RegionInfo/condition_same_exit.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/condition_simple.ll (renamed from test/Analysis/RegionInfo/condition_simple.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/exit_in_condition.ll (renamed from test/Analysis/RegionInfo/exit_in_condition.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/infinite_loop.ll (renamed from test/Analysis/RegionInfo/infinite_loop.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/infinite_loop_2.ll (renamed from test/Analysis/RegionInfo/infinite_loop_2.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/infinite_loop_3.ll (renamed from test/Analysis/RegionInfo/infinite_loop_3.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/infinite_loop_4.ll (renamed from test/Analysis/RegionInfo/infinite_loop_4.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/lit.local.cfg4
-rw-r--r--test/Analysis/RegionInfo/Stats/loop_with_condition.ll (renamed from test/Analysis/RegionInfo/loop_with_condition.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/loops_1.ll (renamed from test/Analysis/RegionInfo/loops_1.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/loops_2.ll (renamed from test/Analysis/RegionInfo/loops_2.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/mix_1.ll (renamed from test/Analysis/RegionInfo/mix_1.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/nested_loops.ll (renamed from test/Analysis/RegionInfo/nested_loops.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/next.ll (renamed from test/Analysis/RegionInfo/next.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/paper.ll (renamed from test/Analysis/RegionInfo/paper.ll)0
-rw-r--r--test/Analysis/RegionInfo/Stats/two_loops_same_header.ll (renamed from test/Analysis/RegionInfo/two_loops_same_header.ll)0
-rw-r--r--test/CodeGen/ARM/Stats/2007-03-13-InstrSched.ll (renamed from test/CodeGen/ARM/2007-03-13-InstrSched.ll)0
-rw-r--r--test/CodeGen/ARM/Stats/2011-12-14-machine-sink.ll (renamed from test/CodeGen/ARM/2011-12-14-machine-sink.ll)0
-rw-r--r--test/CodeGen/ARM/Stats/addrmode.ll (renamed from test/CodeGen/ARM/addrmode.ll)0
-rw-r--r--test/CodeGen/ARM/Stats/lit.local.cfg8
-rw-r--r--test/CodeGen/PowerPC/Stats/iabs.ll (renamed from test/CodeGen/PowerPC/iabs.ll)0
-rw-r--r--test/CodeGen/PowerPC/Stats/lit.local.cfg8
-rw-r--r--test/CodeGen/PowerPC/Stats/rlwimi3.ll (renamed from test/CodeGen/PowerPC/rlwimi3.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2003-08-03-CallArgLiveRanges.ll (renamed from test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2006-03-02-InstrSchedBug.ll (renamed from test/CodeGen/X86/2006-03-02-InstrSchedBug.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2006-05-01-SchedCausingSpills.ll (renamed from test/CodeGen/X86/2006-05-01-SchedCausingSpills.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2006-05-02-InstrSched1.ll (renamed from test/CodeGen/X86/2006-05-02-InstrSched1.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2006-05-02-InstrSched2.ll (renamed from test/CodeGen/X86/2006-05-02-InstrSched2.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2006-05-11-InstrSched.ll (renamed from test/CodeGen/X86/2006-05-11-InstrSched.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2008-02-18-TailMergingBug.ll (renamed from test/CodeGen/X86/2008-02-18-TailMergingBug.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2008-10-27-CoalescerBug.ll (renamed from test/CodeGen/X86/2008-10-27-CoalescerBug.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2009-02-25-CommuteBug.ll (renamed from test/CodeGen/X86/2009-02-25-CommuteBug.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2009-02-26-MachineLICMBug.ll (renamed from test/CodeGen/X86/2009-02-26-MachineLICMBug.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2009-03-23-MultiUseSched.ll (renamed from test/CodeGen/X86/2009-03-23-MultiUseSched.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2009-04-16-SpillerUnfold.ll (renamed from test/CodeGen/X86/2009-04-16-SpillerUnfold.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2010-01-19-OptExtBug.ll (renamed from test/CodeGen/X86/2010-01-19-OptExtBug.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2011-06-12-FastAllocSpill.ll (renamed from test/CodeGen/X86/2011-06-12-FastAllocSpill.ll)0
-rw-r--r--test/CodeGen/X86/Stats/2012-03-26-PostRALICMBug.ll (renamed from test/CodeGen/X86/2012-03-26-PostRALICMBug.ll)0
-rw-r--r--test/CodeGen/X86/Stats/MachineSink-PHIUse.ll (renamed from test/CodeGen/X86/MachineSink-PHIUse.ll)0
-rw-r--r--test/CodeGen/X86/Stats/constant-pool-remat-0.ll (renamed from test/CodeGen/X86/constant-pool-remat-0.ll)0
-rw-r--r--test/CodeGen/X86/Stats/convert-2-addr-3-addr-inc64.ll (renamed from test/CodeGen/X86/convert-2-addr-3-addr-inc64.ll)0
-rw-r--r--test/CodeGen/X86/Stats/dagcombine-cse.ll (renamed from test/CodeGen/X86/dagcombine-cse.ll)0
-rw-r--r--test/CodeGen/X86/Stats/hoist-invariant-load.ll (renamed from test/CodeGen/X86/hoist-invariant-load.ll)0
-rw-r--r--test/CodeGen/X86/Stats/licm-nested.ll (renamed from test/CodeGen/X86/licm-nested.ll)0
-rw-r--r--test/CodeGen/X86/Stats/lit.local.cfg8
-rw-r--r--test/CodeGen/X86/Stats/phi-immediate-factoring.ll (renamed from test/CodeGen/X86/phi-immediate-factoring.ll)0
-rw-r--r--test/CodeGen/X86/Stats/pr3522.ll (renamed from test/CodeGen/X86/pr3522.ll)0
-rw-r--r--test/CodeGen/X86/Stats/regpressure.ll (renamed from test/CodeGen/X86/regpressure.ll)0
-rw-r--r--test/CodeGen/X86/Stats/twoaddr-coalesce-2.ll (renamed from test/CodeGen/X86/twoaddr-coalesce-2.ll)0
-rw-r--r--test/CodeGen/X86/Stats/twoaddr-pass-sink.ll (renamed from test/CodeGen/X86/twoaddr-pass-sink.ll)0
-rw-r--r--test/CodeGen/X86/Stats/vec_insert-6.ll (renamed from test/CodeGen/X86/vec_insert-6.ll)0
-rw-r--r--test/CodeGen/X86/Stats/vec_shuffle-19.ll (renamed from test/CodeGen/X86/vec_shuffle-19.ll)0
-rw-r--r--test/CodeGen/X86/Stats/vec_shuffle-20.ll (renamed from test/CodeGen/X86/vec_shuffle-20.ll)0
-rw-r--r--test/CodeGen/X86/Stats/zero-remat.ll (renamed from test/CodeGen/X86/zero-remat.ll)0
-rw-r--r--test/Transforms/GVN/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/GVN/Stats/nonescaping-malloc.ll (renamed from test/Transforms/GVN/nonescaping-malloc.ll)0
-rw-r--r--test/Transforms/GlobalOpt/Stats/2009-03-05-dbg.ll (renamed from test/Transforms/GlobalOpt/2009-03-05-dbg.ll)0
-rw-r--r--test/Transforms/GlobalOpt/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/IndVarSimplify/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/IndVarSimplify/Stats/phi-uses-value-multiple-times.ll (renamed from test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll)0
-rw-r--r--test/Transforms/Inline/Stats/delete-call.ll (renamed from test/Transforms/Inline/delete-call.ll)0
-rw-r--r--test/Transforms/Inline/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/LICM/Stats/hoist-invariant-load.ll (renamed from test/Transforms/LICM/hoist-invariant-load.ll)0
-rw-r--r--test/Transforms/LICM/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/LoopUnroll/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/LoopUnroll/Stats/runtime-loop3.ll (renamed from test/Transforms/LoopUnroll/runtime-loop3.ll)0
-rw-r--r--test/Transforms/LoopUnswitch/Stats/2008-11-03-Invariant.ll (renamed from test/Transforms/LoopUnswitch/2008-11-03-Invariant.ll)0
-rw-r--r--test/Transforms/LoopUnswitch/Stats/2011-11-18-SimpleSwitch.ll (renamed from test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll)0
-rw-r--r--test/Transforms/LoopUnswitch/Stats/2011-11-18-TwoSwitches-Threshold.ll (renamed from test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll)0
-rw-r--r--test/Transforms/LoopUnswitch/Stats/2011-11-18-TwoSwitches.ll (renamed from test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll)0
-rw-r--r--test/Transforms/LoopUnswitch/Stats/infinite-loop.ll (renamed from test/Transforms/LoopUnswitch/infinite-loop.ll)0
-rw-r--r--test/Transforms/LoopUnswitch/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/MergeFunc/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/MergeFunc/Stats/phi-speculation1.ll (renamed from test/Transforms/MergeFunc/phi-speculation1.ll)0
-rw-r--r--test/Transforms/MergeFunc/Stats/phi-speculation2.ll (renamed from test/Transforms/MergeFunc/phi-speculation2.ll)0
-rw-r--r--test/Transforms/MergeFunc/Stats/vector.ll (renamed from test/Transforms/MergeFunc/vector.ll)0
-rw-r--r--test/Transforms/MergeFunc/Stats/vectors-and-arrays.ll (renamed from test/Transforms/MergeFunc/vectors-and-arrays.ll)0
-rw-r--r--test/Transforms/TailCallElim/Stats/ackermann.ll (renamed from test/Transforms/TailCallElim/ackermann.ll)0
-rw-r--r--test/Transforms/TailCallElim/Stats/dup_tail.ll (renamed from test/Transforms/TailCallElim/dup_tail.ll)0
-rw-r--r--test/Transforms/TailCallElim/Stats/lit.local.cfg4
-rw-r--r--test/Transforms/TailDup/Stats/2008-06-11-AvoidDupLoopHeader.ll (renamed from test/Transforms/TailDup/2008-06-11-AvoidDupLoopHeader.ll)0
-rw-r--r--test/Transforms/TailDup/Stats/lit.local.cfg4
91 files changed, 142 insertions, 20 deletions
diff --git a/include/llvm/ADT/Statistic.h b/include/llvm/ADT/Statistic.h
index b54d10b..26aac7b 100644
--- a/include/llvm/ADT/Statistic.h
+++ b/include/llvm/ADT/Statistic.h
@@ -51,7 +51,9 @@ public:
// Allow use of this class as the value itself.
operator unsigned() const { return Value; }
- const Statistic &operator=(unsigned Val) {
+
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_STATS)
+ const Statistic &operator=(unsigned Val) {
Value = Val;
return init();
}
@@ -106,6 +108,46 @@ public:
return init();
}
+#else // Statistics are disabled in release builds.
+
+ const Statistic &operator=(unsigned Val) {
+ return *this;
+ }
+
+ const Statistic &operator++() {
+ return *this;
+ }
+
+ unsigned operator++(int) {
+ return 0;
+ }
+
+ const Statistic &operator--() {
+ return *this;
+ }
+
+ unsigned operator--(int) {
+ return 0;
+ }
+
+ const Statistic &operator+=(const unsigned &V) {
+ return *this;
+ }
+
+ const Statistic &operator-=(const unsigned &V) {
+ return *this;
+ }
+
+ const Statistic &operator*=(const unsigned &V) {
+ return *this;
+ }
+
+ const Statistic &operator/=(const unsigned &V) {
+ return *this;
+ }
+
+#endif // !defined(NDEBUG) || defined(LLVM_ENABLE_STATS)
+
protected:
Statistic &init() {
bool tmp = Initialized;
diff --git a/lib/CodeGen/SelectionDAG/FastISel.cpp b/lib/CodeGen/SelectionDAG/FastISel.cpp
index 4fb9c5c..aa45ac5 100644
--- a/lib/CodeGen/SelectionDAG/FastISel.cpp
+++ b/lib/CodeGen/SelectionDAG/FastISel.cpp
@@ -63,13 +63,11 @@
#include "llvm/Target/TargetMachine.h"
using namespace llvm;
-#ifndef NDEBUG
STATISTIC(NumFastIselSuccessIndependent, "Number of insts selected by "
"target-independent selector");
STATISTIC(NumFastIselSuccessTarget, "Number of insts selected by "
"target-specific selector");
STATISTIC(NumFastIselDead, "Number of dead insts removed on failure");
-#endif // NDEBUG
/// startNewBlock - Set the current block to which generated machine
/// instructions will be appended, and clear the local CSE map.
@@ -334,7 +332,7 @@ void FastISel::removeDeadCode(MachineBasicBlock::iterator I,
MachineInstr *Dead = &*I;
++I;
Dead->eraseFromParent();
- DEBUG(++NumFastIselDead);
+ ++NumFastIselDead;
}
recomputeInsertPt();
}
@@ -830,7 +828,7 @@ FastISel::SelectInstruction(const Instruction *I) {
// First, try doing target-independent selection.
if (SelectOperator(I, I->getOpcode())) {
- DEBUG(++NumFastIselSuccessIndependent);
+ ++NumFastIselSuccessIndependent;
DL = DebugLoc();
return true;
}
@@ -845,7 +843,7 @@ FastISel::SelectInstruction(const Instruction *I) {
// Next, try calling the target to attempt to handle the instruction.
SavedInsertPt = FuncInfo.InsertPt;
if (TargetSelectInstruction(I)) {
- DEBUG(++NumFastIselSuccessTarget);
+ ++NumFastIselSuccessTarget;
DL = DebugLoc();
return true;
}
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index 285625e..39a1f8a 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@ -58,14 +58,13 @@
#include <algorithm>
using namespace llvm;
+STATISTIC(NumFastIselFailures, "Number of instructions fast isel failed on");
+STATISTIC(NumFastIselSuccess, "Number of instructions fast isel selected");
STATISTIC(NumFastIselBlocks, "Number of blocks selected entirely by fast isel");
STATISTIC(NumDAGBlocks, "Number of blocks selected using DAG");
-
-#ifndef NDEBUG
STATISTIC(NumDAGIselRetries,"Number of times dag isel has to try another path");
-STATISTIC(NumFastIselFailures, "Number of instructions fast isel failed on");
-STATISTIC(NumFastIselSuccess, "Number of instructions fast isel selected");
+#ifndef NDEBUG
static cl::opt<bool>
EnableFastISelVerbose2("fast-isel-verbose2", cl::Hidden,
cl::desc("Enable extra verbose messages in the \"fast\" "
@@ -1090,7 +1089,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
// Try to select the instruction with FastISel.
if (FastIS->SelectInstruction(Inst)) {
--NumFastIselRemaining;
- DEBUG(++NumFastIselSuccess);
+ ++NumFastIselSuccess;
// If fast isel succeeded, skip over all the folded instructions, and
// then see if there is a load right before the selected instructions.
// Try to fold the load if so.
@@ -1106,7 +1105,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
// If we succeeded, don't re-select the load.
BI = llvm::next(BasicBlock::const_iterator(BeforeInst));
--NumFastIselRemaining;
- DEBUG(++NumFastIselSuccess);
+ ++NumFastIselSuccess;
}
continue;
}
@@ -1145,21 +1144,20 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
// Recompute NumFastIselRemaining as Selection DAG instruction
// selection may have handled the call, input args, etc.
unsigned RemainingNow = std::distance(Begin, BI);
- (void) RemainingNow;
- DEBUG(NumFastIselFailures += NumFastIselRemaining - RemainingNow);
- DEBUG(NumFastIselRemaining = RemainingNow);
+ NumFastIselFailures += NumFastIselRemaining - RemainingNow;
+ NumFastIselRemaining = RemainingNow;
continue;
}
if (isa<TerminatorInst>(Inst) && !isa<BranchInst>(Inst)) {
// Don't abort, and use a different message for terminator misses.
- DEBUG(NumFastIselFailures += NumFastIselRemaining);
+ NumFastIselFailures += NumFastIselRemaining;
if (EnableFastISelVerbose || EnableFastISelAbort) {
dbgs() << "FastISel missed terminator: ";
Inst->dump();
}
} else {
- DEBUG(NumFastIselFailures += NumFastIselRemaining);
+ NumFastIselFailures += NumFastIselRemaining;
if (EnableFastISelVerbose || EnableFastISelAbort) {
dbgs() << "FastISel miss: ";
Inst->dump();
@@ -2357,7 +2355,7 @@ SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
DEBUG(errs() << " Skipped scope entry (due to false predicate) at "
<< "index " << MatcherIndexOfPredicate
<< ", continuing at " << FailIndex << "\n");
- DEBUG(++NumDAGIselRetries);
+ ++NumDAGIselRetries;
// Otherwise, we know that this case of the Scope is guaranteed to fail,
// move to the next case.
@@ -2938,7 +2936,7 @@ SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
// another child to try in the current 'Scope', otherwise pop it until we
// find a case to check.
DEBUG(errs() << " Match failed at index " << CurrentOpcodeIndex << "\n");
- DEBUG(++NumDAGIselRetries);
+ ++NumDAGIselRetries;
while (1) {
if (MatchScopes.empty()) {
CannotYetSelect(NodeToMatch);
diff --git a/lib/Support/Statistic.cpp b/lib/Support/Statistic.cpp
index 3a65221..9c28176 100644
--- a/lib/Support/Statistic.cpp
+++ b/lib/Support/Statistic.cpp
@@ -40,7 +40,9 @@ namespace llvm { extern raw_ostream *CreateInfoOutputFile(); }
/// what they did.
///
static cl::opt<bool>
-Enabled("stats", cl::desc("Enable statistics output from program"));
+Enabled(
+ "stats",
+ cl::desc("Enable statistics output from program (available with Asserts)"));
namespace {
@@ -142,6 +144,7 @@ void llvm::PrintStatistics(raw_ostream &OS) {
}
void llvm::PrintStatistics() {
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_STATS)
StatisticInfo &Stats = *StatInfo;
// Statistics not enabled?
@@ -151,4 +154,17 @@ void llvm::PrintStatistics() {
raw_ostream &OutStream = *CreateInfoOutputFile();
PrintStatistics(OutStream);
delete &OutStream; // Close the file.
+#else
+ // Check if the -stats option is set instead of checking
+ // !Stats.Stats.empty(). In release builds, Statistics operators
+ // do nothing, so stats are never Registered.
+ if (Enabled) {
+ // Get the stream to write to.
+ raw_ostream &OutStream = *CreateInfoOutputFile();
+ OutStream << "Statistics are disabled. "
+ << "Build with asserts or with -DLLVM_ENABLE_STATS\n";
+ OutStream.flush();
+ delete &OutStream; // Close the file.
+ }
+#endif
}
diff --git a/test/Analysis/RegionInfo/block_sort.ll b/test/Analysis/RegionInfo/Stats/block_sort.ll
index ac77ab3..ac77ab3 100644
--- a/test/Analysis/RegionInfo/block_sort.ll
+++ b/test/Analysis/RegionInfo/Stats/block_sort.ll
diff --git a/test/Analysis/RegionInfo/cond_loop.ll b/test/Analysis/RegionInfo/Stats/cond_loop.ll
index 1145ffd..1145ffd 100644
--- a/test/Analysis/RegionInfo/cond_loop.ll
+++ b/test/Analysis/RegionInfo/Stats/cond_loop.ll
diff --git a/test/Analysis/RegionInfo/condition_complicated.ll b/test/Analysis/RegionInfo/Stats/condition_complicated.ll
index 6b39880..6b39880 100644
--- a/test/Analysis/RegionInfo/condition_complicated.ll
+++ b/test/Analysis/RegionInfo/Stats/condition_complicated.ll
diff --git a/test/Analysis/RegionInfo/condition_complicated_2.ll b/test/Analysis/RegionInfo/Stats/condition_complicated_2.ll
index f551108..f551108 100644
--- a/test/Analysis/RegionInfo/condition_complicated_2.ll
+++ b/test/Analysis/RegionInfo/Stats/condition_complicated_2.ll
diff --git a/test/Analysis/RegionInfo/condition_forward_edge.ll b/test/Analysis/RegionInfo/Stats/condition_forward_edge.ll
index 5e4d9d2..5e4d9d2 100644
--- a/test/Analysis/RegionInfo/condition_forward_edge.ll
+++ b/test/Analysis/RegionInfo/Stats/condition_forward_edge.ll
diff --git a/test/Analysis/RegionInfo/condition_same_exit.ll b/test/Analysis/RegionInfo/Stats/condition_same_exit.ll
index e48413a..e48413a 100644
--- a/test/Analysis/RegionInfo/condition_same_exit.ll
+++ b/test/Analysis/RegionInfo/Stats/condition_same_exit.ll
diff --git a/test/Analysis/RegionInfo/condition_simple.ll b/test/Analysis/RegionInfo/Stats/condition_simple.ll
index 00d9ed2..00d9ed2 100644
--- a/test/Analysis/RegionInfo/condition_simple.ll
+++ b/test/Analysis/RegionInfo/Stats/condition_simple.ll
diff --git a/test/Analysis/RegionInfo/exit_in_condition.ll b/test/Analysis/RegionInfo/Stats/exit_in_condition.ll
index b84abec..b84abec 100644
--- a/test/Analysis/RegionInfo/exit_in_condition.ll
+++ b/test/Analysis/RegionInfo/Stats/exit_in_condition.ll
diff --git a/test/Analysis/RegionInfo/infinite_loop.ll b/test/Analysis/RegionInfo/Stats/infinite_loop.ll
index 8e58828..8e58828 100644
--- a/test/Analysis/RegionInfo/infinite_loop.ll
+++ b/test/Analysis/RegionInfo/Stats/infinite_loop.ll
diff --git a/test/Analysis/RegionInfo/infinite_loop_2.ll b/test/Analysis/RegionInfo/Stats/infinite_loop_2.ll
index a8227e3..a8227e3 100644
--- a/test/Analysis/RegionInfo/infinite_loop_2.ll
+++ b/test/Analysis/RegionInfo/Stats/infinite_loop_2.ll
diff --git a/test/Analysis/RegionInfo/infinite_loop_3.ll b/test/Analysis/RegionInfo/Stats/infinite_loop_3.ll
index b09c9c1..b09c9c1 100644
--- a/test/Analysis/RegionInfo/infinite_loop_3.ll
+++ b/test/Analysis/RegionInfo/Stats/infinite_loop_3.ll
diff --git a/test/Analysis/RegionInfo/infinite_loop_4.ll b/test/Analysis/RegionInfo/Stats/infinite_loop_4.ll
index 681c305..681c305 100644
--- a/test/Analysis/RegionInfo/infinite_loop_4.ll
+++ b/test/Analysis/RegionInfo/Stats/infinite_loop_4.ll
diff --git a/test/Analysis/RegionInfo/Stats/lit.local.cfg b/test/Analysis/RegionInfo/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Analysis/RegionInfo/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Analysis/RegionInfo/loop_with_condition.ll b/test/Analysis/RegionInfo/Stats/loop_with_condition.ll
index 08d2ba8..08d2ba8 100644
--- a/test/Analysis/RegionInfo/loop_with_condition.ll
+++ b/test/Analysis/RegionInfo/Stats/loop_with_condition.ll
diff --git a/test/Analysis/RegionInfo/loops_1.ll b/test/Analysis/RegionInfo/Stats/loops_1.ll
index 6449949..6449949 100644
--- a/test/Analysis/RegionInfo/loops_1.ll
+++ b/test/Analysis/RegionInfo/Stats/loops_1.ll
diff --git a/test/Analysis/RegionInfo/loops_2.ll b/test/Analysis/RegionInfo/Stats/loops_2.ll
index dc4a1ad..dc4a1ad 100644
--- a/test/Analysis/RegionInfo/loops_2.ll
+++ b/test/Analysis/RegionInfo/Stats/loops_2.ll
diff --git a/test/Analysis/RegionInfo/mix_1.ll b/test/Analysis/RegionInfo/Stats/mix_1.ll
index 1474e03..1474e03 100644
--- a/test/Analysis/RegionInfo/mix_1.ll
+++ b/test/Analysis/RegionInfo/Stats/mix_1.ll
diff --git a/test/Analysis/RegionInfo/nested_loops.ll b/test/Analysis/RegionInfo/Stats/nested_loops.ll
index a3707a1..a3707a1 100644
--- a/test/Analysis/RegionInfo/nested_loops.ll
+++ b/test/Analysis/RegionInfo/Stats/nested_loops.ll
diff --git a/test/Analysis/RegionInfo/next.ll b/test/Analysis/RegionInfo/Stats/next.ll
index 890b4f2..890b4f2 100644
--- a/test/Analysis/RegionInfo/next.ll
+++ b/test/Analysis/RegionInfo/Stats/next.ll
diff --git a/test/Analysis/RegionInfo/paper.ll b/test/Analysis/RegionInfo/Stats/paper.ll
index 96c87e0..96c87e0 100644
--- a/test/Analysis/RegionInfo/paper.ll
+++ b/test/Analysis/RegionInfo/Stats/paper.ll
diff --git a/test/Analysis/RegionInfo/two_loops_same_header.ll b/test/Analysis/RegionInfo/Stats/two_loops_same_header.ll
index e75661e..e75661e 100644
--- a/test/Analysis/RegionInfo/two_loops_same_header.ll
+++ b/test/Analysis/RegionInfo/Stats/two_loops_same_header.ll
diff --git a/test/CodeGen/ARM/2007-03-13-InstrSched.ll b/test/CodeGen/ARM/Stats/2007-03-13-InstrSched.ll
index a63cdd4..a63cdd4 100644
--- a/test/CodeGen/ARM/2007-03-13-InstrSched.ll
+++ b/test/CodeGen/ARM/Stats/2007-03-13-InstrSched.ll
diff --git a/test/CodeGen/ARM/2011-12-14-machine-sink.ll b/test/CodeGen/ARM/Stats/2011-12-14-machine-sink.ll
index b21bb00..b21bb00 100644
--- a/test/CodeGen/ARM/2011-12-14-machine-sink.ll
+++ b/test/CodeGen/ARM/Stats/2011-12-14-machine-sink.ll
diff --git a/test/CodeGen/ARM/addrmode.ll b/test/CodeGen/ARM/Stats/addrmode.ll
index 6da9089..6da9089 100644
--- a/test/CodeGen/ARM/addrmode.ll
+++ b/test/CodeGen/ARM/Stats/addrmode.ll
diff --git a/test/CodeGen/ARM/Stats/lit.local.cfg b/test/CodeGen/ARM/Stats/lit.local.cfg
new file mode 100644
index 0000000..f6194d2
--- /dev/null
+++ b/test/CodeGen/ARM/Stats/lit.local.cfg
@@ -0,0 +1,8 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+targets = set(config.root.targets_to_build.split())
+if not 'ARM' in targets:
+ config.unsupported = True
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/CodeGen/PowerPC/iabs.ll b/test/CodeGen/PowerPC/Stats/iabs.ll
index 7d089bb..7d089bb 100644
--- a/test/CodeGen/PowerPC/iabs.ll
+++ b/test/CodeGen/PowerPC/Stats/iabs.ll
diff --git a/test/CodeGen/PowerPC/Stats/lit.local.cfg b/test/CodeGen/PowerPC/Stats/lit.local.cfg
new file mode 100644
index 0000000..2608e13
--- /dev/null
+++ b/test/CodeGen/PowerPC/Stats/lit.local.cfg
@@ -0,0 +1,8 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+targets = set(config.root.targets_to_build.split())
+if not 'PowerPC' in targets:
+ config.unsupported = True
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/CodeGen/PowerPC/rlwimi3.ll b/test/CodeGen/PowerPC/Stats/rlwimi3.ll
index 7efdbe9..7efdbe9 100644
--- a/test/CodeGen/PowerPC/rlwimi3.ll
+++ b/test/CodeGen/PowerPC/Stats/rlwimi3.ll
diff --git a/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll b/test/CodeGen/X86/Stats/2003-08-03-CallArgLiveRanges.ll
index 0af2445..0af2445 100644
--- a/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll
+++ b/test/CodeGen/X86/Stats/2003-08-03-CallArgLiveRanges.ll
diff --git a/test/CodeGen/X86/2006-03-02-InstrSchedBug.ll b/test/CodeGen/X86/Stats/2006-03-02-InstrSchedBug.ll
index 1a3d749..1a3d749 100644
--- a/test/CodeGen/X86/2006-03-02-InstrSchedBug.ll
+++ b/test/CodeGen/X86/Stats/2006-03-02-InstrSchedBug.ll
diff --git a/test/CodeGen/X86/2006-05-01-SchedCausingSpills.ll b/test/CodeGen/X86/Stats/2006-05-01-SchedCausingSpills.ll
index 5cba3ef..5cba3ef 100644
--- a/test/CodeGen/X86/2006-05-01-SchedCausingSpills.ll
+++ b/test/CodeGen/X86/Stats/2006-05-01-SchedCausingSpills.ll
diff --git a/test/CodeGen/X86/2006-05-02-InstrSched1.ll b/test/CodeGen/X86/Stats/2006-05-02-InstrSched1.ll
index 1c75f93..1c75f93 100644
--- a/test/CodeGen/X86/2006-05-02-InstrSched1.ll
+++ b/test/CodeGen/X86/Stats/2006-05-02-InstrSched1.ll
diff --git a/test/CodeGen/X86/2006-05-02-InstrSched2.ll b/test/CodeGen/X86/Stats/2006-05-02-InstrSched2.ll
index 95eefa1..95eefa1 100644
--- a/test/CodeGen/X86/2006-05-02-InstrSched2.ll
+++ b/test/CodeGen/X86/Stats/2006-05-02-InstrSched2.ll
diff --git a/test/CodeGen/X86/2006-05-11-InstrSched.ll b/test/CodeGen/X86/Stats/2006-05-11-InstrSched.ll
index 37c5107..37c5107 100644
--- a/test/CodeGen/X86/2006-05-11-InstrSched.ll
+++ b/test/CodeGen/X86/Stats/2006-05-11-InstrSched.ll
diff --git a/test/CodeGen/X86/2008-02-18-TailMergingBug.ll b/test/CodeGen/X86/Stats/2008-02-18-TailMergingBug.ll
index a1b973d..a1b973d 100644
--- a/test/CodeGen/X86/2008-02-18-TailMergingBug.ll
+++ b/test/CodeGen/X86/Stats/2008-02-18-TailMergingBug.ll
diff --git a/test/CodeGen/X86/2008-10-27-CoalescerBug.ll b/test/CodeGen/X86/Stats/2008-10-27-CoalescerBug.ll
index b2cf34c..b2cf34c 100644
--- a/test/CodeGen/X86/2008-10-27-CoalescerBug.ll
+++ b/test/CodeGen/X86/Stats/2008-10-27-CoalescerBug.ll
diff --git a/test/CodeGen/X86/2009-02-25-CommuteBug.ll b/test/CodeGen/X86/Stats/2009-02-25-CommuteBug.ll
index 9cbf350..9cbf350 100644
--- a/test/CodeGen/X86/2009-02-25-CommuteBug.ll
+++ b/test/CodeGen/X86/Stats/2009-02-25-CommuteBug.ll
diff --git a/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll b/test/CodeGen/X86/Stats/2009-02-26-MachineLICMBug.ll
index d50fe6f..d50fe6f 100644
--- a/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll
+++ b/test/CodeGen/X86/Stats/2009-02-26-MachineLICMBug.ll
diff --git a/test/CodeGen/X86/2009-03-23-MultiUseSched.ll b/test/CodeGen/X86/Stats/2009-03-23-MultiUseSched.ll
index d934ec9..d934ec9 100644
--- a/test/CodeGen/X86/2009-03-23-MultiUseSched.ll
+++ b/test/CodeGen/X86/Stats/2009-03-23-MultiUseSched.ll
diff --git a/test/CodeGen/X86/2009-04-16-SpillerUnfold.ll b/test/CodeGen/X86/Stats/2009-04-16-SpillerUnfold.ll
index ad18a0c..ad18a0c 100644
--- a/test/CodeGen/X86/2009-04-16-SpillerUnfold.ll
+++ b/test/CodeGen/X86/Stats/2009-04-16-SpillerUnfold.ll
diff --git a/test/CodeGen/X86/2010-01-19-OptExtBug.ll b/test/CodeGen/X86/Stats/2010-01-19-OptExtBug.ll
index eb4a5c0..eb4a5c0 100644
--- a/test/CodeGen/X86/2010-01-19-OptExtBug.ll
+++ b/test/CodeGen/X86/Stats/2010-01-19-OptExtBug.ll
diff --git a/test/CodeGen/X86/2011-06-12-FastAllocSpill.ll b/test/CodeGen/X86/Stats/2011-06-12-FastAllocSpill.ll
index 47ef693..47ef693 100644
--- a/test/CodeGen/X86/2011-06-12-FastAllocSpill.ll
+++ b/test/CodeGen/X86/Stats/2011-06-12-FastAllocSpill.ll
diff --git a/test/CodeGen/X86/2012-03-26-PostRALICMBug.ll b/test/CodeGen/X86/Stats/2012-03-26-PostRALICMBug.ll
index 18a3313..18a3313 100644
--- a/test/CodeGen/X86/2012-03-26-PostRALICMBug.ll
+++ b/test/CodeGen/X86/Stats/2012-03-26-PostRALICMBug.ll
diff --git a/test/CodeGen/X86/MachineSink-PHIUse.ll b/test/CodeGen/X86/Stats/MachineSink-PHIUse.ll
index 3314168..3314168 100644
--- a/test/CodeGen/X86/MachineSink-PHIUse.ll
+++ b/test/CodeGen/X86/Stats/MachineSink-PHIUse.ll
diff --git a/test/CodeGen/X86/constant-pool-remat-0.ll b/test/CodeGen/X86/Stats/constant-pool-remat-0.ll
index 4be14d2..4be14d2 100644
--- a/test/CodeGen/X86/constant-pool-remat-0.ll
+++ b/test/CodeGen/X86/Stats/constant-pool-remat-0.ll
diff --git a/test/CodeGen/X86/convert-2-addr-3-addr-inc64.ll b/test/CodeGen/X86/Stats/convert-2-addr-3-addr-inc64.ll
index 064ee36..064ee36 100644
--- a/test/CodeGen/X86/convert-2-addr-3-addr-inc64.ll
+++ b/test/CodeGen/X86/Stats/convert-2-addr-3-addr-inc64.ll
diff --git a/test/CodeGen/X86/dagcombine-cse.ll b/test/CodeGen/X86/Stats/dagcombine-cse.ll
index af69531..af69531 100644
--- a/test/CodeGen/X86/dagcombine-cse.ll
+++ b/test/CodeGen/X86/Stats/dagcombine-cse.ll
diff --git a/test/CodeGen/X86/hoist-invariant-load.ll b/test/CodeGen/X86/Stats/hoist-invariant-load.ll
index 74ecd04..74ecd04 100644
--- a/test/CodeGen/X86/hoist-invariant-load.ll
+++ b/test/CodeGen/X86/Stats/hoist-invariant-load.ll
diff --git a/test/CodeGen/X86/licm-nested.ll b/test/CodeGen/X86/Stats/licm-nested.ll
index c3f991d..c3f991d 100644
--- a/test/CodeGen/X86/licm-nested.ll
+++ b/test/CodeGen/X86/Stats/licm-nested.ll
diff --git a/test/CodeGen/X86/Stats/lit.local.cfg b/test/CodeGen/X86/Stats/lit.local.cfg
new file mode 100644
index 0000000..1a5fd5e
--- /dev/null
+++ b/test/CodeGen/X86/Stats/lit.local.cfg
@@ -0,0 +1,8 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+targets = set(config.root.targets_to_build.split())
+if not 'X86' in targets:
+ config.unsupported = True
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/CodeGen/X86/phi-immediate-factoring.ll b/test/CodeGen/X86/Stats/phi-immediate-factoring.ll
index 476bb10..476bb10 100644
--- a/test/CodeGen/X86/phi-immediate-factoring.ll
+++ b/test/CodeGen/X86/Stats/phi-immediate-factoring.ll
diff --git a/test/CodeGen/X86/pr3522.ll b/test/CodeGen/X86/Stats/pr3522.ll
index d8f3778..d8f3778 100644
--- a/test/CodeGen/X86/pr3522.ll
+++ b/test/CodeGen/X86/Stats/pr3522.ll
diff --git a/test/CodeGen/X86/regpressure.ll b/test/CodeGen/X86/Stats/regpressure.ll
index 52d7b56..52d7b56 100644
--- a/test/CodeGen/X86/regpressure.ll
+++ b/test/CodeGen/X86/Stats/regpressure.ll
diff --git a/test/CodeGen/X86/twoaddr-coalesce-2.ll b/test/CodeGen/X86/Stats/twoaddr-coalesce-2.ll
index af6d47a..af6d47a 100644
--- a/test/CodeGen/X86/twoaddr-coalesce-2.ll
+++ b/test/CodeGen/X86/Stats/twoaddr-coalesce-2.ll
diff --git a/test/CodeGen/X86/twoaddr-pass-sink.ll b/test/CodeGen/X86/Stats/twoaddr-pass-sink.ll
index 513c304..513c304 100644
--- a/test/CodeGen/X86/twoaddr-pass-sink.ll
+++ b/test/CodeGen/X86/Stats/twoaddr-pass-sink.ll
diff --git a/test/CodeGen/X86/vec_insert-6.ll b/test/CodeGen/X86/Stats/vec_insert-6.ll
index 2a4864a..2a4864a 100644
--- a/test/CodeGen/X86/vec_insert-6.ll
+++ b/test/CodeGen/X86/Stats/vec_insert-6.ll
diff --git a/test/CodeGen/X86/vec_shuffle-19.ll b/test/CodeGen/X86/Stats/vec_shuffle-19.ll
index b26f920..b26f920 100644
--- a/test/CodeGen/X86/vec_shuffle-19.ll
+++ b/test/CodeGen/X86/Stats/vec_shuffle-19.ll
diff --git a/test/CodeGen/X86/vec_shuffle-20.ll b/test/CodeGen/X86/Stats/vec_shuffle-20.ll
index b6b8ba6f..b6b8ba6f 100644
--- a/test/CodeGen/X86/vec_shuffle-20.ll
+++ b/test/CodeGen/X86/Stats/vec_shuffle-20.ll
diff --git a/test/CodeGen/X86/zero-remat.ll b/test/CodeGen/X86/Stats/zero-remat.ll
index 4242530..4242530 100644
--- a/test/CodeGen/X86/zero-remat.ll
+++ b/test/CodeGen/X86/Stats/zero-remat.ll
diff --git a/test/Transforms/GVN/Stats/lit.local.cfg b/test/Transforms/GVN/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/GVN/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/GVN/nonescaping-malloc.ll b/test/Transforms/GVN/Stats/nonescaping-malloc.ll
index afcb7fe..afcb7fe 100644
--- a/test/Transforms/GVN/nonescaping-malloc.ll
+++ b/test/Transforms/GVN/Stats/nonescaping-malloc.ll
diff --git a/test/Transforms/GlobalOpt/2009-03-05-dbg.ll b/test/Transforms/GlobalOpt/Stats/2009-03-05-dbg.ll
index 0f3efa0..0f3efa0 100644
--- a/test/Transforms/GlobalOpt/2009-03-05-dbg.ll
+++ b/test/Transforms/GlobalOpt/Stats/2009-03-05-dbg.ll
diff --git a/test/Transforms/GlobalOpt/Stats/lit.local.cfg b/test/Transforms/GlobalOpt/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/GlobalOpt/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/IndVarSimplify/Stats/lit.local.cfg b/test/Transforms/IndVarSimplify/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/IndVarSimplify/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll b/test/Transforms/IndVarSimplify/Stats/phi-uses-value-multiple-times.ll
index 52c9e5c..52c9e5c 100644
--- a/test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll
+++ b/test/Transforms/IndVarSimplify/Stats/phi-uses-value-multiple-times.ll
diff --git a/test/Transforms/Inline/delete-call.ll b/test/Transforms/Inline/Stats/delete-call.ll
index 0afd2ee..0afd2ee 100644
--- a/test/Transforms/Inline/delete-call.ll
+++ b/test/Transforms/Inline/Stats/delete-call.ll
diff --git a/test/Transforms/Inline/Stats/lit.local.cfg b/test/Transforms/Inline/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/Inline/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/LICM/hoist-invariant-load.ll b/test/Transforms/LICM/Stats/hoist-invariant-load.ll
index f9fc551..f9fc551 100644
--- a/test/Transforms/LICM/hoist-invariant-load.ll
+++ b/test/Transforms/LICM/Stats/hoist-invariant-load.ll
diff --git a/test/Transforms/LICM/Stats/lit.local.cfg b/test/Transforms/LICM/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/LICM/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/LoopUnroll/Stats/lit.local.cfg b/test/Transforms/LoopUnroll/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/LoopUnroll/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/LoopUnroll/runtime-loop3.ll b/test/Transforms/LoopUnroll/Stats/runtime-loop3.ll
index 55cf223..55cf223 100644
--- a/test/Transforms/LoopUnroll/runtime-loop3.ll
+++ b/test/Transforms/LoopUnroll/Stats/runtime-loop3.ll
diff --git a/test/Transforms/LoopUnswitch/2008-11-03-Invariant.ll b/test/Transforms/LoopUnswitch/Stats/2008-11-03-Invariant.ll
index 9d73d31..9d73d31 100644
--- a/test/Transforms/LoopUnswitch/2008-11-03-Invariant.ll
+++ b/test/Transforms/LoopUnswitch/Stats/2008-11-03-Invariant.ll
diff --git a/test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll b/test/Transforms/LoopUnswitch/Stats/2011-11-18-SimpleSwitch.ll
index bde52da..bde52da 100644
--- a/test/Transforms/LoopUnswitch/2011-11-18-SimpleSwitch.ll
+++ b/test/Transforms/LoopUnswitch/Stats/2011-11-18-SimpleSwitch.ll
diff --git a/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll b/test/Transforms/LoopUnswitch/Stats/2011-11-18-TwoSwitches-Threshold.ll
index c3bf596..c3bf596 100644
--- a/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches-Threshold.ll
+++ b/test/Transforms/LoopUnswitch/Stats/2011-11-18-TwoSwitches-Threshold.ll
diff --git a/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll b/test/Transforms/LoopUnswitch/Stats/2011-11-18-TwoSwitches.ll
index 9530333..9530333 100644
--- a/test/Transforms/LoopUnswitch/2011-11-18-TwoSwitches.ll
+++ b/test/Transforms/LoopUnswitch/Stats/2011-11-18-TwoSwitches.ll
diff --git a/test/Transforms/LoopUnswitch/infinite-loop.ll b/test/Transforms/LoopUnswitch/Stats/infinite-loop.ll
index f3fba64..f3fba64 100644
--- a/test/Transforms/LoopUnswitch/infinite-loop.ll
+++ b/test/Transforms/LoopUnswitch/Stats/infinite-loop.ll
diff --git a/test/Transforms/LoopUnswitch/Stats/lit.local.cfg b/test/Transforms/LoopUnswitch/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/LoopUnswitch/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/MergeFunc/Stats/lit.local.cfg b/test/Transforms/MergeFunc/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/MergeFunc/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/MergeFunc/phi-speculation1.ll b/test/Transforms/MergeFunc/Stats/phi-speculation1.ll
index fd0baff..fd0baff 100644
--- a/test/Transforms/MergeFunc/phi-speculation1.ll
+++ b/test/Transforms/MergeFunc/Stats/phi-speculation1.ll
diff --git a/test/Transforms/MergeFunc/phi-speculation2.ll b/test/Transforms/MergeFunc/Stats/phi-speculation2.ll
index eec8b5c..eec8b5c 100644
--- a/test/Transforms/MergeFunc/phi-speculation2.ll
+++ b/test/Transforms/MergeFunc/Stats/phi-speculation2.ll
diff --git a/test/Transforms/MergeFunc/vector.ll b/test/Transforms/MergeFunc/Stats/vector.ll
index 4af079f..4af079f 100644
--- a/test/Transforms/MergeFunc/vector.ll
+++ b/test/Transforms/MergeFunc/Stats/vector.ll
diff --git a/test/Transforms/MergeFunc/vectors-and-arrays.ll b/test/Transforms/MergeFunc/Stats/vectors-and-arrays.ll
index dc64a08..dc64a08 100644
--- a/test/Transforms/MergeFunc/vectors-and-arrays.ll
+++ b/test/Transforms/MergeFunc/Stats/vectors-and-arrays.ll
diff --git a/test/Transforms/TailCallElim/ackermann.ll b/test/Transforms/TailCallElim/Stats/ackermann.ll
index 5b5dbcc..5b5dbcc 100644
--- a/test/Transforms/TailCallElim/ackermann.ll
+++ b/test/Transforms/TailCallElim/Stats/ackermann.ll
diff --git a/test/Transforms/TailCallElim/dup_tail.ll b/test/Transforms/TailCallElim/Stats/dup_tail.ll
index 3b87ed3..3b87ed3 100644
--- a/test/Transforms/TailCallElim/dup_tail.ll
+++ b/test/Transforms/TailCallElim/Stats/dup_tail.ll
diff --git a/test/Transforms/TailCallElim/Stats/lit.local.cfg b/test/Transforms/TailCallElim/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/TailCallElim/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True
diff --git a/test/Transforms/TailDup/2008-06-11-AvoidDupLoopHeader.ll b/test/Transforms/TailDup/Stats/2008-06-11-AvoidDupLoopHeader.ll
index 7853d7b..7853d7b 100644
--- a/test/Transforms/TailDup/2008-06-11-AvoidDupLoopHeader.ll
+++ b/test/Transforms/TailDup/Stats/2008-06-11-AvoidDupLoopHeader.ll
diff --git a/test/Transforms/TailDup/Stats/lit.local.cfg b/test/Transforms/TailDup/Stats/lit.local.cfg
new file mode 100644
index 0000000..89c0cd9
--- /dev/null
+++ b/test/Transforms/TailDup/Stats/lit.local.cfg
@@ -0,0 +1,4 @@
+config.suffixes = ['.ll', '.c', '.cpp']
+
+if not config.root.enable_assertions:
+ config.unsupported = True