#include "llvm/Support/CFG.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
-#include "llvm/Support/raw_ostream.h"
+#include "llvm/Support/FormattedStream.h"
#include <algorithm>
#include <cctype>
#include <map>
// PrintEscapedString - Print each character of the specified string, escaping
// it if it is not printable or if it is an escape char.
-static void PrintEscapedString(const StringRef &Name, raw_ostream &Out) {
+static void PrintEscapedString(const StringRef &Name,
+ formatted_raw_ostream &Out) {
for (unsigned i = 0, e = Name.size(); i != e; ++i) {
unsigned char C = Name[i];
if (isprint(C) && C != '\\' && C != '"')
/// PrintLLVMName - Turn the specified name into an 'LLVM name', which is either
/// prefixed with % (if the string only contains simple characters) or is
/// surrounded with ""'s (if it has special chars in it). Print it out.
-static void PrintLLVMName(raw_ostream &OS, const StringRef &Name,
+static void PrintLLVMName(formatted_raw_ostream &OS, const StringRef &Name,
PrefixType Prefix) {
assert(Name.data() && "Cannot get empty name!");
switch (Prefix) {
/// PrintLLVMName - Turn the specified name into an 'LLVM name', which is either
/// prefixed with % (if the string only contains simple characters) or is
/// surrounded with ""'s (if it has special chars in it). Print it out.
-static void PrintLLVMName(raw_ostream &OS, const Value *V) {
+static void PrintLLVMName(formatted_raw_ostream &OS, const Value *V) {
PrintLLVMName(OS, V->getName(),
isa<GlobalValue>(V) ? GlobalPrefix : LocalPrefix);
}
// Get the name as a string and insert it into TypeNames.
std::string NameStr;
- raw_string_ostream NameOS(NameStr);
+ raw_string_ostream NameROS(NameStr);
+ formatted_raw_ostream NameOS(NameROS);
PrintLLVMName(NameOS, TI->first, LocalPrefix);
- TP.addTypeName(Ty, NameOS.str());
+ NameOS.flush();
+ TP.addTypeName(Ty, NameStr);
}
// Walk the entire module to find references to unnamed structure and opaque
// AsmWriter Implementation
//===----------------------------------------------------------------------===//
-static void WriteAsOperandInternal(raw_ostream &Out, const Value *V,
+static void WriteAsOperandInternal(formatted_raw_ostream &Out, const Value *V,
TypePrinting &TypePrinter,
SlotTracker *Machine);
return pred;
}
-static void WriteMDNodes(raw_ostream &Out, TypePrinting &TypePrinter,
+static void WriteMDNodes(formatted_raw_ostream &Out, TypePrinting &TypePrinter,
SlotTracker &Machine) {
SmallVector<const MDNode *, 16> Nodes;
Nodes.resize(Machine.mdnSize());
}
}
-static void WriteOptimizationInfo(raw_ostream &Out, const User *U) {
+static void WriteOptimizationInfo(formatted_raw_ostream &Out, const User *U) {
if (const OverflowingBinaryOperator *OBO =
dyn_cast<OverflowingBinaryOperator>(U)) {
if (OBO->hasNoUnsignedOverflow())
}
}
-static void WriteConstantInt(raw_ostream &Out, const Constant *CV,
+static void WriteConstantInt(formatted_raw_ostream &Out, const Constant *CV,
TypePrinting &TypePrinter, SlotTracker *Machine) {
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
if (CI->getType() == Type::Int1Ty) {
/// ostream. This can be useful when you just want to print int %reg126, not
/// the whole instruction that generated it.
///
-static void WriteAsOperandInternal(raw_ostream &Out, const Value *V,
+static void WriteAsOperandInternal(formatted_raw_ostream &Out, const Value *V,
TypePrinting &TypePrinter,
SlotTracker *Machine) {
if (V->hasName()) {
Out << ' ';
}
- WriteAsOperandInternal(Out, V, TypePrinter, 0);
+ formatted_raw_ostream FOut(Out);
+ WriteAsOperandInternal(FOut, V, TypePrinter, 0);
}
namespace {
class AssemblyWriter {
- raw_ostream &Out;
+ formatted_raw_ostream &Out;
SlotTracker &Machine;
const Module *TheModule;
TypePrinting TypePrinter;
std::map<const MDNode *, unsigned> MDNodes;
unsigned MetadataIDNo;
public:
- inline AssemblyWriter(raw_ostream &o, SlotTracker &Mac, const Module *M,
+ inline AssemblyWriter(formatted_raw_ostream &o, SlotTracker &Mac,
+ const Module *M,
AssemblyAnnotationWriter *AAW)
: Out(o), Machine(Mac), TheModule(M), AnnotationWriter(AAW), MetadataIDNo(0) {
AddModuleTypesToPrinter(TypePrinter, NumberedTypes, M);
WriteMDNodes(Out, TypePrinter, Machine);
}
-static void PrintLinkage(GlobalValue::LinkageTypes LT, raw_ostream &Out) {
+static void PrintLinkage(GlobalValue::LinkageTypes LT,
+ formatted_raw_ostream &Out) {
switch (LT) {
case GlobalValue::ExternalLinkage: break;
case GlobalValue::PrivateLinkage: Out << "private "; break;
static void PrintVisibility(GlobalValue::VisibilityTypes Vis,
- raw_ostream &Out) {
+ formatted_raw_ostream &Out) {
switch (Vis) {
default: llvm_unreachable("Invalid visibility style!");
case GlobalValue::DefaultVisibility: break;
// Make sure we print out at least one level of the type structure, so
// that we do not get %2 = type %2
TypePrinter.printAtLeastOneLevel(NumberedTypes[i], Out);
- Out << "\t\t; type %" << i << '\n';
+ Out.PadToColumn(50);
+ Out << "; type %" << i << '\n';
}
// Print the named types.
Out << "<badref>";
}
- if (BB->getParent() == 0)
- Out << "\t\t; Error: Block without parent!";
- else if (BB != &BB->getParent()->getEntryBlock()) { // Not the entry block?
+ if (BB->getParent() == 0) {
+ Out.PadToColumn(50);
+ Out << "; Error: Block without parent!";
+ } else if (BB != &BB->getParent()->getEntryBlock()) { // Not the entry block?
// Output predecessors for the block...
- Out << "\t\t;";
+ Out.PadToColumn(50);
+ Out << ";";
pred_const_iterator PI = pred_begin(BB), PE = pred_end(BB);
if (PI == PE) {
///
void AssemblyWriter::printInfoComment(const Value &V) {
if (V.getType() != Type::VoidTy) {
- Out << "\t\t; <";
+ Out.PadToColumn(50);
+ Out << "; <";
TypePrinter.print(V.getType(), Out);
Out << '>';
raw_os_ostream OS(o);
print(OS, AAW);
}
-void Module::print(raw_ostream &OS, AssemblyAnnotationWriter *AAW) const {
+void Module::print(raw_ostream &ROS, AssemblyAnnotationWriter *AAW) const {
SlotTracker SlotTable(this);
+ formatted_raw_ostream OS(ROS);
AssemblyWriter W(OS, SlotTable, this, AAW);
W.write(this);
}
TypePrinting().print(this, OS);
}
-void Value::print(raw_ostream &OS, AssemblyAnnotationWriter *AAW) const {
+void Value::print(raw_ostream &ROS, AssemblyAnnotationWriter *AAW) const {
+ formatted_raw_ostream OS(ROS);
if (this == 0) {
OS << "printing a <null> value\n";
return;
; RUN: llvm-as < %s | opt -indvars | llvm-dis > %t
; RUN: grep select %t | count 2
-; RUN: grep {icmp ne i32.\* %w } %t
+; RUN: grep {icmp ne i32.\* %w } %t
; Indvars should be able to insert a canonical induction variable
; for the bb6 loop without using a maximum calculation (icmp, select)
; ModuleID = '<stdin>'
-@b = constant i15 0 ; <i15*> [#uses=0]
-@c = constant i15 -2 ; <i15*> [#uses=0]
-@d = constant i15 0 ; <i15*> [#uses=0]
-@e = constant i15 -1 ; <i15*> [#uses=0]
-@f = constant i15 1 ; <i15*> [#uses=0]
-@g = constant i15 3 ; <i15*> [#uses=0]
-@h = constant i15 undef ; <i15*> [#uses=0]
-@i = constant i15 -16384 ; <i15*> [#uses=0]
-@j = constant i15 1 ; <i15*> [#uses=0]
-@l = constant i15 -1 ; <i15*> [#uses=0]
-@n = constant i15 -2 ; <i15*> [#uses=0]
-@q = constant i15 16381 ; <i15*> [#uses=0]
-@r = constant i15 0 ; <i15*> [#uses=0]
-@s = constant i15 2 ; <i15*> [#uses=0]
-@t = constant i15 1 ; <i15*> [#uses=0]
-@u = constant i15 0 ; <i15*> [#uses=0]
-@o = constant i15 0 ; <i15*> [#uses=0]
-@p = constant i15 -1 ; <i15*> [#uses=0]
-@v = constant i15 -1 ; <i15*> [#uses=0]
+@b = constant i15 0 ; <i15*> [#uses=0]
+@c = constant i15 -2 ; <i15*> [#uses=0]
+@d = constant i15 0 ; <i15*> [#uses=0]
+@e = constant i15 -1 ; <i15*> [#uses=0]
+@f = constant i15 1 ; <i15*> [#uses=0]
+@g = constant i15 3 ; <i15*> [#uses=0]
+@h = constant i15 undef ; <i15*> [#uses=0]
+@i = constant i15 -16384 ; <i15*> [#uses=0]
+@j = constant i15 1 ; <i15*> [#uses=0]
+@l = constant i15 -1 ; <i15*> [#uses=0]
+@n = constant i15 -2 ; <i15*> [#uses=0]
+@q = constant i15 16381 ; <i15*> [#uses=0]
+@r = constant i15 0 ; <i15*> [#uses=0]
+@s = constant i15 2 ; <i15*> [#uses=0]
+@t = constant i15 1 ; <i15*> [#uses=0]
+@u = constant i15 0 ; <i15*> [#uses=0]
+@o = constant i15 0 ; <i15*> [#uses=0]
+@p = constant i15 -1 ; <i15*> [#uses=0]
+@v = constant i15 -1 ; <i15*> [#uses=0]
; ModuleID = '<stdin>'
-@b = constant i17 0 ; <i17*> [#uses=0]
-@c = constant i17 -2 ; <i17*> [#uses=0]
-@d = constant i17 0 ; <i17*> [#uses=0]
-@e = constant i17 -1 ; <i17*> [#uses=0]
-@f = constant i17 1 ; <i17*> [#uses=0]
-@g = constant i17 3 ; <i17*> [#uses=0]
-@h = constant i17 undef ; <i17*> [#uses=0]
-@i = constant i17 -65536 ; <i17*> [#uses=0]
-@j = constant i17 1 ; <i17*> [#uses=0]
-@l = constant i17 -1 ; <i17*> [#uses=0]
-@n = constant i17 -2 ; <i17*> [#uses=0]
-@q = constant i17 0 ; <i17*> [#uses=0]
-@r = constant i17 2 ; <i17*> [#uses=0]
-@s = constant i17 1 ; <i17*> [#uses=0]
-@t = constant i17 0 ; <i17*> [#uses=0]
-@o = constant i17 0 ; <i17*> [#uses=0]
-@p = constant i17 -1 ; <i17*> [#uses=0]
-@v = constant i17 -1 ; <i17*> [#uses=0]
+@b = constant i17 0 ; <i17*> [#uses=0]
+@c = constant i17 -2 ; <i17*> [#uses=0]
+@d = constant i17 0 ; <i17*> [#uses=0]
+@e = constant i17 -1 ; <i17*> [#uses=0]
+@f = constant i17 1 ; <i17*> [#uses=0]
+@g = constant i17 3 ; <i17*> [#uses=0]
+@h = constant i17 undef ; <i17*> [#uses=0]
+@i = constant i17 -65536 ; <i17*> [#uses=0]
+@j = constant i17 1 ; <i17*> [#uses=0]
+@l = constant i17 -1 ; <i17*> [#uses=0]
+@n = constant i17 -2 ; <i17*> [#uses=0]
+@q = constant i17 0 ; <i17*> [#uses=0]
+@r = constant i17 2 ; <i17*> [#uses=0]
+@s = constant i17 1 ; <i17*> [#uses=0]
+@t = constant i17 0 ; <i17*> [#uses=0]
+@o = constant i17 0 ; <i17*> [#uses=0]
+@p = constant i17 -1 ; <i17*> [#uses=0]
+@v = constant i17 -1 ; <i17*> [#uses=0]
; ModuleID = '<stdin>'
-@b = constant i31 0 ; <i31*> [#uses=0]
-@c = constant i31 -2 ; <i31*> [#uses=0]
-@d = constant i31 0 ; <i31*> [#uses=0]
-@e = constant i31 -1 ; <i31*> [#uses=0]
-@f = constant i31 1 ; <i31*> [#uses=0]
-@g = constant i31 3 ; <i31*> [#uses=0]
-@h = constant i31 undef ; <i31*> [#uses=0]
-@i = constant i31 -1073741824 ; <i31*> [#uses=0]
-@j = constant i31 1 ; <i31*> [#uses=0]
-@l = constant i31 -1 ; <i31*> [#uses=0]
-@n = constant i31 -2 ; <i31*> [#uses=0]
-@q = constant i31 0 ; <i31*> [#uses=0]
-@r = constant i31 2 ; <i31*> [#uses=0]
-@s = constant i31 1 ; <i31*> [#uses=0]
-@t = constant i31 0 ; <i31*> [#uses=0]
-@o = constant i31 0 ; <i31*> [#uses=0]
-@p = constant i31 -1 ; <i31*> [#uses=0]
-@u = constant i31 -3 ; <i31*> [#uses=0]
+@b = constant i31 0 ; <i31*> [#uses=0]
+@c = constant i31 -2 ; <i31*> [#uses=0]
+@d = constant i31 0 ; <i31*> [#uses=0]
+@e = constant i31 -1 ; <i31*> [#uses=0]
+@f = constant i31 1 ; <i31*> [#uses=0]
+@g = constant i31 3 ; <i31*> [#uses=0]
+@h = constant i31 undef ; <i31*> [#uses=0]
+@i = constant i31 -1073741824 ; <i31*> [#uses=0]
+@j = constant i31 1 ; <i31*> [#uses=0]
+@l = constant i31 -1 ; <i31*> [#uses=0]
+@n = constant i31 -2 ; <i31*> [#uses=0]
+@q = constant i31 0 ; <i31*> [#uses=0]
+@r = constant i31 2 ; <i31*> [#uses=0]
+@s = constant i31 1 ; <i31*> [#uses=0]
+@t = constant i31 0 ; <i31*> [#uses=0]
+@o = constant i31 0 ; <i31*> [#uses=0]
+@p = constant i31 -1 ; <i31*> [#uses=0]
+@u = constant i31 -3 ; <i31*> [#uses=0]
; ModuleID = '<stdin>'
-@b = constant i33 0 ; <i33*> [#uses=0]
-@c = constant i33 -2 ; <i33*> [#uses=0]
-@d = constant i33 0 ; <i33*> [#uses=0]
-@e = constant i33 -1 ; <i33*> [#uses=0]
-@f = constant i33 1 ; <i33*> [#uses=0]
-@g = constant i33 3 ; <i33*> [#uses=0]
-@h = constant i33 undef ; <i33*> [#uses=0]
-@i = constant i33 -4294967296 ; <i33*> [#uses=0]
-@j = constant i33 1 ; <i33*> [#uses=0]
-@l = constant i33 -1 ; <i33*> [#uses=0]
-@n = constant i33 -2 ; <i33*> [#uses=0]
-@q = constant i33 0 ; <i33*> [#uses=0]
-@r = constant i33 2 ; <i33*> [#uses=0]
-@s = constant i33 1 ; <i33*> [#uses=0]
-@t = constant i33 0 ; <i33*> [#uses=0]
-@o = constant i33 0 ; <i33*> [#uses=0]
-@p = constant i33 -1 ; <i33*> [#uses=0]
-@u = constant i33 -1 ; <i33*> [#uses=0]
+@b = constant i33 0 ; <i33*> [#uses=0]
+@c = constant i33 -2 ; <i33*> [#uses=0]
+@d = constant i33 0 ; <i33*> [#uses=0]
+@e = constant i33 -1 ; <i33*> [#uses=0]
+@f = constant i33 1 ; <i33*> [#uses=0]
+@g = constant i33 3 ; <i33*> [#uses=0]
+@h = constant i33 undef ; <i33*> [#uses=0]
+@i = constant i33 -4294967296 ; <i33*> [#uses=0]
+@j = constant i33 1 ; <i33*> [#uses=0]
+@l = constant i33 -1 ; <i33*> [#uses=0]
+@n = constant i33 -2 ; <i33*> [#uses=0]
+@q = constant i33 0 ; <i33*> [#uses=0]
+@r = constant i33 2 ; <i33*> [#uses=0]
+@s = constant i33 1 ; <i33*> [#uses=0]
+@t = constant i33 0 ; <i33*> [#uses=0]
+@o = constant i33 0 ; <i33*> [#uses=0]
+@p = constant i33 -1 ; <i33*> [#uses=0]
+@u = constant i33 -1 ; <i33*> [#uses=0]
; ModuleID = '<stdin>'
-@b = constant i63 0 ; <i63*> [#uses=0]
-@c = constant i63 -2 ; <i63*> [#uses=0]
-@d = constant i63 0 ; <i63*> [#uses=0]
-@e = constant i63 -1 ; <i63*> [#uses=0]
-@f = constant i63 1 ; <i63*> [#uses=0]
-@g = constant i63 3 ; <i63*> [#uses=0]
-@h = constant i63 undef ; <i63*> [#uses=0]
-@i = constant i63 -4611686018427387904 ; <i63*> [#uses=0]
-@j = constant i63 1 ; <i63*> [#uses=0]
-@l = constant i63 -1 ; <i63*> [#uses=0]
-@n = constant i63 -2 ; <i63*> [#uses=0]
-@q = constant i63 0 ; <i63*> [#uses=0]
-@u = constant i63 -1 ; <i63*> [#uses=0]
-@r = constant i63 2 ; <i63*> [#uses=0]
-@s = constant i63 1 ; <i63*> [#uses=0]
-@t = constant i63 0 ; <i63*> [#uses=0]
-@o = constant i63 0 ; <i63*> [#uses=0]
-@p = constant i63 -1 ; <i63*> [#uses=0]
+@b = constant i63 0 ; <i63*> [#uses=0]
+@c = constant i63 -2 ; <i63*> [#uses=0]
+@d = constant i63 0 ; <i63*> [#uses=0]
+@e = constant i63 -1 ; <i63*> [#uses=0]
+@f = constant i63 1 ; <i63*> [#uses=0]
+@g = constant i63 3 ; <i63*> [#uses=0]
+@h = constant i63 undef ; <i63*> [#uses=0]
+@i = constant i63 -4611686018427387904 ; <i63*> [#uses=0]
+@j = constant i63 1 ; <i63*> [#uses=0]
+@l = constant i63 -1 ; <i63*> [#uses=0]
+@n = constant i63 -2 ; <i63*> [#uses=0]
+@q = constant i63 0 ; <i63*> [#uses=0]
+@u = constant i63 -1 ; <i63*> [#uses=0]
+@r = constant i63 2 ; <i63*> [#uses=0]
+@s = constant i63 1 ; <i63*> [#uses=0]
+@t = constant i63 0 ; <i63*> [#uses=0]
+@o = constant i63 0 ; <i63*> [#uses=0]
+@p = constant i63 -1 ; <i63*> [#uses=0]
; ModuleID = '<stdin>'
-@b = constant i7 0 ; <i7*> [#uses=0]
-@q = constant i7 63 ; <i7*> [#uses=0]
-@c = constant i7 -2 ; <i7*> [#uses=0]
-@d = constant i7 0 ; <i7*> [#uses=0]
-@e = constant i7 -1 ; <i7*> [#uses=0]
-@f = constant i7 1 ; <i7*> [#uses=0]
-@g = constant i7 3 ; <i7*> [#uses=0]
-@r = constant i7 5 ; <i7*> [#uses=0]
-@s = constant i7 5 ; <i7*> [#uses=0]
-@h = constant i7 undef ; <i7*> [#uses=0]
-@i = constant i7 -64 ; <i7*> [#uses=0]
-@j = constant i7 1 ; <i7*> [#uses=0]
-@l = constant i7 -1 ; <i7*> [#uses=0]
-@m2 = constant i7 -1 ; <i7*> [#uses=0]
-@n = constant i7 -2 ; <i7*> [#uses=0]
-@t = constant i7 -2 ; <i7*> [#uses=0]
-@u = constant i7 -64 ; <i7*> [#uses=0]
-@v = constant i7 0 ; <i7*> [#uses=0]
-@w = constant i7 2 ; <i7*> [#uses=0]
-@x = constant i7 1 ; <i7*> [#uses=0]
-@y = constant i7 0 ; <i7*> [#uses=0]
-@o = constant i7 0 ; <i7*> [#uses=0]
-@p = constant i7 -1 ; <i7*> [#uses=0]
+@b = constant i7 0 ; <i7*> [#uses=0]
+@q = constant i7 63 ; <i7*> [#uses=0]
+@c = constant i7 -2 ; <i7*> [#uses=0]
+@d = constant i7 0 ; <i7*> [#uses=0]
+@e = constant i7 -1 ; <i7*> [#uses=0]
+@f = constant i7 1 ; <i7*> [#uses=0]
+@g = constant i7 3 ; <i7*> [#uses=0]
+@r = constant i7 5 ; <i7*> [#uses=0]
+@s = constant i7 5 ; <i7*> [#uses=0]
+@h = constant i7 undef ; <i7*> [#uses=0]
+@i = constant i7 -64 ; <i7*> [#uses=0]
+@j = constant i7 1 ; <i7*> [#uses=0]
+@l = constant i7 -1 ; <i7*> [#uses=0]
+@m2 = constant i7 -1 ; <i7*> [#uses=0]
+@n = constant i7 -2 ; <i7*> [#uses=0]
+@t = constant i7 -2 ; <i7*> [#uses=0]
+@u = constant i7 -64 ; <i7*> [#uses=0]
+@v = constant i7 0 ; <i7*> [#uses=0]
+@w = constant i7 2 ; <i7*> [#uses=0]
+@x = constant i7 1 ; <i7*> [#uses=0]
+@y = constant i7 0 ; <i7*> [#uses=0]
+@o = constant i7 0 ; <i7*> [#uses=0]
+@p = constant i7 -1 ; <i7*> [#uses=0]
; ModuleID = '<stdin>'
-@b = constant i9 0 ; <i9*> [#uses=0]
-@c = constant i9 -2 ; <i9*> [#uses=0]
-@d = constant i9 0 ; <i9*> [#uses=0]
-@e = constant i9 -1 ; <i9*> [#uses=0]
-@f = constant i9 1 ; <i9*> [#uses=0]
-@g = constant i9 3 ; <i9*> [#uses=0]
-@h = constant i9 undef ; <i9*> [#uses=0]
-@i = constant i9 -256 ; <i9*> [#uses=0]
-@j = constant i9 1 ; <i9*> [#uses=0]
-@l = constant i9 -1 ; <i9*> [#uses=0]
-@n = constant i9 -2 ; <i9*> [#uses=0]
-@q = constant i9 0 ; <i9*> [#uses=0]
-@r = constant i9 255 ; <i9*> [#uses=0]
-@s = constant i9 0 ; <i9*> [#uses=0]
-@t = constant i9 1 ; <i9*> [#uses=0]
-@o = constant i9 0 ; <i9*> [#uses=0]
-@p = constant i9 -1 ; <i9*> [#uses=0]
+@b = constant i9 0 ; <i9*> [#uses=0]
+@c = constant i9 -2 ; <i9*> [#uses=0]
+@d = constant i9 0 ; <i9*> [#uses=0]
+@e = constant i9 -1 ; <i9*> [#uses=0]
+@f = constant i9 1 ; <i9*> [#uses=0]
+@g = constant i9 3 ; <i9*> [#uses=0]
+@h = constant i9 undef ; <i9*> [#uses=0]
+@i = constant i9 -256 ; <i9*> [#uses=0]
+@j = constant i9 1 ; <i9*> [#uses=0]
+@l = constant i9 -1 ; <i9*> [#uses=0]
+@n = constant i9 -2 ; <i9*> [#uses=0]
+@q = constant i9 0 ; <i9*> [#uses=0]
+@r = constant i9 255 ; <i9*> [#uses=0]
+@s = constant i9 0 ; <i9*> [#uses=0]
+@t = constant i9 1 ; <i9*> [#uses=0]
+@o = constant i9 0 ; <i9*> [#uses=0]
+@p = constant i9 -1 ; <i9*> [#uses=0]
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {= or i32 %x, -5 }
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {= or i32 %x, -5 }
@.str = internal constant [5 x i8] c"foo\0A\00" ; <[5 x i8]*> [#uses=1]
@.str1 = internal constant [5 x i8] c"bar\0A\00" ; <[5 x i8]*> [#uses=1]