mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Make LLVM Assembly dramatically easier to read by aligning the comments,
using formatted_raw_ostream's PadToColumn. Before: bb1: ; preds = %bb %2 = sext i32 %i.01 to i64 ; <i64> [#uses=1] %3 = getelementptr double* %p, i64 %2 ; <double*> [#uses=1] %4 = load double* %3, align 8 ; <double> [#uses=1] %5 = fmul double %4, 1.100000e+00 ; <double> [#uses=1] %6 = sext i32 %i.01 to i64 ; <i64> [#uses=1] %7 = getelementptr double* %p, i64 %6 ; <double*> [#uses=1] After: bb1: ; preds = %bb %2 = sext i32 %i.01 to i64 ; <i64> [#uses=1] %3 = getelementptr double* %p, i64 %2 ; <double*> [#uses=1] %4 = load double* %3, align 8 ; <double> [#uses=1] %5 = fmul double %4, 1.100000e+00 ; <double> [#uses=1] %6 = sext i32 %i.01 to i64 ; <i64> [#uses=1] %7 = getelementptr double* %p, i64 %6 ; <double*> [#uses=1] Several tests required whitespace adjustments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78816 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9f7d60f460
commit
683e922d29
@ -34,7 +34,7 @@
|
|||||||
#include "llvm/Support/CFG.h"
|
#include "llvm/Support/CFG.h"
|
||||||
#include "llvm/Support/ErrorHandling.h"
|
#include "llvm/Support/ErrorHandling.h"
|
||||||
#include "llvm/Support/MathExtras.h"
|
#include "llvm/Support/MathExtras.h"
|
||||||
#include "llvm/Support/raw_ostream.h"
|
#include "llvm/Support/FormattedStream.h"
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cctype>
|
#include <cctype>
|
||||||
#include <map>
|
#include <map>
|
||||||
@ -66,7 +66,8 @@ static const Module *getModuleFromVal(const Value *V) {
|
|||||||
|
|
||||||
// PrintEscapedString - Print each character of the specified string, escaping
|
// PrintEscapedString - Print each character of the specified string, escaping
|
||||||
// it if it is not printable or if it is an escape char.
|
// 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) {
|
for (unsigned i = 0, e = Name.size(); i != e; ++i) {
|
||||||
unsigned char C = Name[i];
|
unsigned char C = Name[i];
|
||||||
if (isprint(C) && C != '\\' && C != '"')
|
if (isprint(C) && C != '\\' && C != '"')
|
||||||
@ -86,7 +87,7 @@ enum PrefixType {
|
|||||||
/// PrintLLVMName - Turn the specified name into an 'LLVM name', which is either
|
/// PrintLLVMName - Turn the specified name into an 'LLVM name', which is either
|
||||||
/// prefixed with % (if the string only contains simple characters) or is
|
/// prefixed with % (if the string only contains simple characters) or is
|
||||||
/// surrounded with ""'s (if it has special chars in it). Print it out.
|
/// 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) {
|
PrefixType Prefix) {
|
||||||
assert(Name.data() && "Cannot get empty name!");
|
assert(Name.data() && "Cannot get empty name!");
|
||||||
switch (Prefix) {
|
switch (Prefix) {
|
||||||
@ -125,7 +126,7 @@ static void PrintLLVMName(raw_ostream &OS, const StringRef &Name,
|
|||||||
/// PrintLLVMName - Turn the specified name into an 'LLVM name', which is either
|
/// PrintLLVMName - Turn the specified name into an 'LLVM name', which is either
|
||||||
/// prefixed with % (if the string only contains simple characters) or is
|
/// prefixed with % (if the string only contains simple characters) or is
|
||||||
/// surrounded with ""'s (if it has special chars in it). Print it out.
|
/// 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(),
|
PrintLLVMName(OS, V->getName(),
|
||||||
isa<GlobalValue>(V) ? GlobalPrefix : LocalPrefix);
|
isa<GlobalValue>(V) ? GlobalPrefix : LocalPrefix);
|
||||||
}
|
}
|
||||||
@ -425,9 +426,11 @@ static void AddModuleTypesToPrinter(TypePrinting &TP,
|
|||||||
|
|
||||||
// Get the name as a string and insert it into TypeNames.
|
// Get the name as a string and insert it into TypeNames.
|
||||||
std::string NameStr;
|
std::string NameStr;
|
||||||
raw_string_ostream NameOS(NameStr);
|
raw_string_ostream NameROS(NameStr);
|
||||||
|
formatted_raw_ostream NameOS(NameROS);
|
||||||
PrintLLVMName(NameOS, TI->first, LocalPrefix);
|
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
|
// Walk the entire module to find references to unnamed structure and opaque
|
||||||
@ -814,7 +817,7 @@ void SlotTracker::CreateMetadataSlot(const MDNode *N) {
|
|||||||
// AsmWriter Implementation
|
// AsmWriter Implementation
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
static void WriteAsOperandInternal(raw_ostream &Out, const Value *V,
|
static void WriteAsOperandInternal(formatted_raw_ostream &Out, const Value *V,
|
||||||
TypePrinting &TypePrinter,
|
TypePrinting &TypePrinter,
|
||||||
SlotTracker *Machine);
|
SlotTracker *Machine);
|
||||||
|
|
||||||
@ -853,7 +856,7 @@ static const char *getPredicateText(unsigned predicate) {
|
|||||||
return pred;
|
return pred;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WriteMDNodes(raw_ostream &Out, TypePrinting &TypePrinter,
|
static void WriteMDNodes(formatted_raw_ostream &Out, TypePrinting &TypePrinter,
|
||||||
SlotTracker &Machine) {
|
SlotTracker &Machine) {
|
||||||
SmallVector<const MDNode *, 16> Nodes;
|
SmallVector<const MDNode *, 16> Nodes;
|
||||||
Nodes.resize(Machine.mdnSize());
|
Nodes.resize(Machine.mdnSize());
|
||||||
@ -886,7 +889,7 @@ static void WriteMDNodes(raw_ostream &Out, TypePrinting &TypePrinter,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WriteOptimizationInfo(raw_ostream &Out, const User *U) {
|
static void WriteOptimizationInfo(formatted_raw_ostream &Out, const User *U) {
|
||||||
if (const OverflowingBinaryOperator *OBO =
|
if (const OverflowingBinaryOperator *OBO =
|
||||||
dyn_cast<OverflowingBinaryOperator>(U)) {
|
dyn_cast<OverflowingBinaryOperator>(U)) {
|
||||||
if (OBO->hasNoUnsignedOverflow())
|
if (OBO->hasNoUnsignedOverflow())
|
||||||
@ -902,7 +905,7 @@ static void WriteOptimizationInfo(raw_ostream &Out, const User *U) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WriteConstantInt(raw_ostream &Out, const Constant *CV,
|
static void WriteConstantInt(formatted_raw_ostream &Out, const Constant *CV,
|
||||||
TypePrinting &TypePrinter, SlotTracker *Machine) {
|
TypePrinting &TypePrinter, SlotTracker *Machine) {
|
||||||
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
|
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
|
||||||
if (CI->getType() == Type::Int1Ty) {
|
if (CI->getType() == Type::Int1Ty) {
|
||||||
@ -1143,7 +1146,7 @@ static void WriteConstantInt(raw_ostream &Out, const Constant *CV,
|
|||||||
/// ostream. This can be useful when you just want to print int %reg126, not
|
/// ostream. This can be useful when you just want to print int %reg126, not
|
||||||
/// the whole instruction that generated it.
|
/// 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,
|
TypePrinting &TypePrinter,
|
||||||
SlotTracker *Machine) {
|
SlotTracker *Machine) {
|
||||||
if (V->hasName()) {
|
if (V->hasName()) {
|
||||||
@ -1233,14 +1236,15 @@ void llvm::WriteAsOperand(raw_ostream &Out, const Value *V, bool PrintType,
|
|||||||
Out << ' ';
|
Out << ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
WriteAsOperandInternal(Out, V, TypePrinter, 0);
|
formatted_raw_ostream FOut(Out);
|
||||||
|
WriteAsOperandInternal(FOut, V, TypePrinter, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
class AssemblyWriter {
|
class AssemblyWriter {
|
||||||
raw_ostream &Out;
|
formatted_raw_ostream &Out;
|
||||||
SlotTracker &Machine;
|
SlotTracker &Machine;
|
||||||
const Module *TheModule;
|
const Module *TheModule;
|
||||||
TypePrinting TypePrinter;
|
TypePrinting TypePrinter;
|
||||||
@ -1251,7 +1255,8 @@ class AssemblyWriter {
|
|||||||
std::map<const MDNode *, unsigned> MDNodes;
|
std::map<const MDNode *, unsigned> MDNodes;
|
||||||
unsigned MetadataIDNo;
|
unsigned MetadataIDNo;
|
||||||
public:
|
public:
|
||||||
inline AssemblyWriter(raw_ostream &o, SlotTracker &Mac, const Module *M,
|
inline AssemblyWriter(formatted_raw_ostream &o, SlotTracker &Mac,
|
||||||
|
const Module *M,
|
||||||
AssemblyAnnotationWriter *AAW)
|
AssemblyAnnotationWriter *AAW)
|
||||||
: Out(o), Machine(Mac), TheModule(M), AnnotationWriter(AAW), MetadataIDNo(0) {
|
: Out(o), Machine(Mac), TheModule(M), AnnotationWriter(AAW), MetadataIDNo(0) {
|
||||||
AddModuleTypesToPrinter(TypePrinter, NumberedTypes, M);
|
AddModuleTypesToPrinter(TypePrinter, NumberedTypes, M);
|
||||||
@ -1403,7 +1408,8 @@ void AssemblyWriter::printModule(const Module *M) {
|
|||||||
WriteMDNodes(Out, TypePrinter, Machine);
|
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) {
|
switch (LT) {
|
||||||
case GlobalValue::ExternalLinkage: break;
|
case GlobalValue::ExternalLinkage: break;
|
||||||
case GlobalValue::PrivateLinkage: Out << "private "; break;
|
case GlobalValue::PrivateLinkage: Out << "private "; break;
|
||||||
@ -1428,7 +1434,7 @@ static void PrintLinkage(GlobalValue::LinkageTypes LT, raw_ostream &Out) {
|
|||||||
|
|
||||||
|
|
||||||
static void PrintVisibility(GlobalValue::VisibilityTypes Vis,
|
static void PrintVisibility(GlobalValue::VisibilityTypes Vis,
|
||||||
raw_ostream &Out) {
|
formatted_raw_ostream &Out) {
|
||||||
switch (Vis) {
|
switch (Vis) {
|
||||||
default: llvm_unreachable("Invalid visibility style!");
|
default: llvm_unreachable("Invalid visibility style!");
|
||||||
case GlobalValue::DefaultVisibility: break;
|
case GlobalValue::DefaultVisibility: break;
|
||||||
@ -1519,7 +1525,8 @@ void AssemblyWriter::printTypeSymbolTable(const TypeSymbolTable &ST) {
|
|||||||
// Make sure we print out at least one level of the type structure, so
|
// Make sure we print out at least one level of the type structure, so
|
||||||
// that we do not get %2 = type %2
|
// that we do not get %2 = type %2
|
||||||
TypePrinter.printAtLeastOneLevel(NumberedTypes[i], Out);
|
TypePrinter.printAtLeastOneLevel(NumberedTypes[i], Out);
|
||||||
Out << "\t\t; type %" << i << '\n';
|
Out.PadToColumn(50);
|
||||||
|
Out << "; type %" << i << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Print the named types.
|
// Print the named types.
|
||||||
@ -1668,11 +1675,13 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
|
|||||||
Out << "<badref>";
|
Out << "<badref>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (BB->getParent() == 0)
|
if (BB->getParent() == 0) {
|
||||||
Out << "\t\t; Error: Block without parent!";
|
Out.PadToColumn(50);
|
||||||
else if (BB != &BB->getParent()->getEntryBlock()) { // Not the entry block?
|
Out << "; Error: Block without parent!";
|
||||||
|
} else if (BB != &BB->getParent()->getEntryBlock()) { // Not the entry block?
|
||||||
// Output predecessors for the block...
|
// Output predecessors for the block...
|
||||||
Out << "\t\t;";
|
Out.PadToColumn(50);
|
||||||
|
Out << ";";
|
||||||
pred_const_iterator PI = pred_begin(BB), PE = pred_end(BB);
|
pred_const_iterator PI = pred_begin(BB), PE = pred_end(BB);
|
||||||
|
|
||||||
if (PI == PE) {
|
if (PI == PE) {
|
||||||
@ -1706,7 +1715,8 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
|
|||||||
///
|
///
|
||||||
void AssemblyWriter::printInfoComment(const Value &V) {
|
void AssemblyWriter::printInfoComment(const Value &V) {
|
||||||
if (V.getType() != Type::VoidTy) {
|
if (V.getType() != Type::VoidTy) {
|
||||||
Out << "\t\t; <";
|
Out.PadToColumn(50);
|
||||||
|
Out << "; <";
|
||||||
TypePrinter.print(V.getType(), Out);
|
TypePrinter.print(V.getType(), Out);
|
||||||
Out << '>';
|
Out << '>';
|
||||||
|
|
||||||
@ -1991,8 +2001,9 @@ void Module::print(std::ostream &o, AssemblyAnnotationWriter *AAW) const {
|
|||||||
raw_os_ostream OS(o);
|
raw_os_ostream OS(o);
|
||||||
print(OS, AAW);
|
print(OS, AAW);
|
||||||
}
|
}
|
||||||
void Module::print(raw_ostream &OS, AssemblyAnnotationWriter *AAW) const {
|
void Module::print(raw_ostream &ROS, AssemblyAnnotationWriter *AAW) const {
|
||||||
SlotTracker SlotTable(this);
|
SlotTracker SlotTable(this);
|
||||||
|
formatted_raw_ostream OS(ROS);
|
||||||
AssemblyWriter W(OS, SlotTable, this, AAW);
|
AssemblyWriter W(OS, SlotTable, this, AAW);
|
||||||
W.write(this);
|
W.write(this);
|
||||||
}
|
}
|
||||||
@ -2010,7 +2021,8 @@ void Type::print(raw_ostream &OS) const {
|
|||||||
TypePrinting().print(this, OS);
|
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) {
|
if (this == 0) {
|
||||||
OS << "printing a <null> value\n";
|
OS << "printing a <null> value\n";
|
||||||
return;
|
return;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; RUN: llvm-as < %s | opt -indvars | llvm-dis > %t
|
; RUN: llvm-as < %s | opt -indvars | llvm-dis > %t
|
||||||
; RUN: grep select %t | count 2
|
; 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
|
; Indvars should be able to insert a canonical induction variable
|
||||||
; for the bb6 loop without using a maximum calculation (icmp, select)
|
; for the bb6 loop without using a maximum calculation (icmp, select)
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
; ModuleID = '<stdin>'
|
; ModuleID = '<stdin>'
|
||||||
@b = constant i15 0 ; <i15*> [#uses=0]
|
@b = constant i15 0 ; <i15*> [#uses=0]
|
||||||
@c = constant i15 -2 ; <i15*> [#uses=0]
|
@c = constant i15 -2 ; <i15*> [#uses=0]
|
||||||
@d = constant i15 0 ; <i15*> [#uses=0]
|
@d = constant i15 0 ; <i15*> [#uses=0]
|
||||||
@e = constant i15 -1 ; <i15*> [#uses=0]
|
@e = constant i15 -1 ; <i15*> [#uses=0]
|
||||||
@f = constant i15 1 ; <i15*> [#uses=0]
|
@f = constant i15 1 ; <i15*> [#uses=0]
|
||||||
@g = constant i15 3 ; <i15*> [#uses=0]
|
@g = constant i15 3 ; <i15*> [#uses=0]
|
||||||
@h = constant i15 undef ; <i15*> [#uses=0]
|
@h = constant i15 undef ; <i15*> [#uses=0]
|
||||||
@i = constant i15 -16384 ; <i15*> [#uses=0]
|
@i = constant i15 -16384 ; <i15*> [#uses=0]
|
||||||
@j = constant i15 1 ; <i15*> [#uses=0]
|
@j = constant i15 1 ; <i15*> [#uses=0]
|
||||||
@l = constant i15 -1 ; <i15*> [#uses=0]
|
@l = constant i15 -1 ; <i15*> [#uses=0]
|
||||||
@n = constant i15 -2 ; <i15*> [#uses=0]
|
@n = constant i15 -2 ; <i15*> [#uses=0]
|
||||||
@q = constant i15 16381 ; <i15*> [#uses=0]
|
@q = constant i15 16381 ; <i15*> [#uses=0]
|
||||||
@r = constant i15 0 ; <i15*> [#uses=0]
|
@r = constant i15 0 ; <i15*> [#uses=0]
|
||||||
@s = constant i15 2 ; <i15*> [#uses=0]
|
@s = constant i15 2 ; <i15*> [#uses=0]
|
||||||
@t = constant i15 1 ; <i15*> [#uses=0]
|
@t = constant i15 1 ; <i15*> [#uses=0]
|
||||||
@u = constant i15 0 ; <i15*> [#uses=0]
|
@u = constant i15 0 ; <i15*> [#uses=0]
|
||||||
@o = constant i15 0 ; <i15*> [#uses=0]
|
@o = constant i15 0 ; <i15*> [#uses=0]
|
||||||
@p = constant i15 -1 ; <i15*> [#uses=0]
|
@p = constant i15 -1 ; <i15*> [#uses=0]
|
||||||
@v = constant i15 -1 ; <i15*> [#uses=0]
|
@v = constant i15 -1 ; <i15*> [#uses=0]
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
; ModuleID = '<stdin>'
|
; ModuleID = '<stdin>'
|
||||||
@b = constant i17 0 ; <i17*> [#uses=0]
|
@b = constant i17 0 ; <i17*> [#uses=0]
|
||||||
@c = constant i17 -2 ; <i17*> [#uses=0]
|
@c = constant i17 -2 ; <i17*> [#uses=0]
|
||||||
@d = constant i17 0 ; <i17*> [#uses=0]
|
@d = constant i17 0 ; <i17*> [#uses=0]
|
||||||
@e = constant i17 -1 ; <i17*> [#uses=0]
|
@e = constant i17 -1 ; <i17*> [#uses=0]
|
||||||
@f = constant i17 1 ; <i17*> [#uses=0]
|
@f = constant i17 1 ; <i17*> [#uses=0]
|
||||||
@g = constant i17 3 ; <i17*> [#uses=0]
|
@g = constant i17 3 ; <i17*> [#uses=0]
|
||||||
@h = constant i17 undef ; <i17*> [#uses=0]
|
@h = constant i17 undef ; <i17*> [#uses=0]
|
||||||
@i = constant i17 -65536 ; <i17*> [#uses=0]
|
@i = constant i17 -65536 ; <i17*> [#uses=0]
|
||||||
@j = constant i17 1 ; <i17*> [#uses=0]
|
@j = constant i17 1 ; <i17*> [#uses=0]
|
||||||
@l = constant i17 -1 ; <i17*> [#uses=0]
|
@l = constant i17 -1 ; <i17*> [#uses=0]
|
||||||
@n = constant i17 -2 ; <i17*> [#uses=0]
|
@n = constant i17 -2 ; <i17*> [#uses=0]
|
||||||
@q = constant i17 0 ; <i17*> [#uses=0]
|
@q = constant i17 0 ; <i17*> [#uses=0]
|
||||||
@r = constant i17 2 ; <i17*> [#uses=0]
|
@r = constant i17 2 ; <i17*> [#uses=0]
|
||||||
@s = constant i17 1 ; <i17*> [#uses=0]
|
@s = constant i17 1 ; <i17*> [#uses=0]
|
||||||
@t = constant i17 0 ; <i17*> [#uses=0]
|
@t = constant i17 0 ; <i17*> [#uses=0]
|
||||||
@o = constant i17 0 ; <i17*> [#uses=0]
|
@o = constant i17 0 ; <i17*> [#uses=0]
|
||||||
@p = constant i17 -1 ; <i17*> [#uses=0]
|
@p = constant i17 -1 ; <i17*> [#uses=0]
|
||||||
@v = constant i17 -1 ; <i17*> [#uses=0]
|
@v = constant i17 -1 ; <i17*> [#uses=0]
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
; ModuleID = '<stdin>'
|
; ModuleID = '<stdin>'
|
||||||
@b = constant i31 0 ; <i31*> [#uses=0]
|
@b = constant i31 0 ; <i31*> [#uses=0]
|
||||||
@c = constant i31 -2 ; <i31*> [#uses=0]
|
@c = constant i31 -2 ; <i31*> [#uses=0]
|
||||||
@d = constant i31 0 ; <i31*> [#uses=0]
|
@d = constant i31 0 ; <i31*> [#uses=0]
|
||||||
@e = constant i31 -1 ; <i31*> [#uses=0]
|
@e = constant i31 -1 ; <i31*> [#uses=0]
|
||||||
@f = constant i31 1 ; <i31*> [#uses=0]
|
@f = constant i31 1 ; <i31*> [#uses=0]
|
||||||
@g = constant i31 3 ; <i31*> [#uses=0]
|
@g = constant i31 3 ; <i31*> [#uses=0]
|
||||||
@h = constant i31 undef ; <i31*> [#uses=0]
|
@h = constant i31 undef ; <i31*> [#uses=0]
|
||||||
@i = constant i31 -1073741824 ; <i31*> [#uses=0]
|
@i = constant i31 -1073741824 ; <i31*> [#uses=0]
|
||||||
@j = constant i31 1 ; <i31*> [#uses=0]
|
@j = constant i31 1 ; <i31*> [#uses=0]
|
||||||
@l = constant i31 -1 ; <i31*> [#uses=0]
|
@l = constant i31 -1 ; <i31*> [#uses=0]
|
||||||
@n = constant i31 -2 ; <i31*> [#uses=0]
|
@n = constant i31 -2 ; <i31*> [#uses=0]
|
||||||
@q = constant i31 0 ; <i31*> [#uses=0]
|
@q = constant i31 0 ; <i31*> [#uses=0]
|
||||||
@r = constant i31 2 ; <i31*> [#uses=0]
|
@r = constant i31 2 ; <i31*> [#uses=0]
|
||||||
@s = constant i31 1 ; <i31*> [#uses=0]
|
@s = constant i31 1 ; <i31*> [#uses=0]
|
||||||
@t = constant i31 0 ; <i31*> [#uses=0]
|
@t = constant i31 0 ; <i31*> [#uses=0]
|
||||||
@o = constant i31 0 ; <i31*> [#uses=0]
|
@o = constant i31 0 ; <i31*> [#uses=0]
|
||||||
@p = constant i31 -1 ; <i31*> [#uses=0]
|
@p = constant i31 -1 ; <i31*> [#uses=0]
|
||||||
@u = constant i31 -3 ; <i31*> [#uses=0]
|
@u = constant i31 -3 ; <i31*> [#uses=0]
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
; ModuleID = '<stdin>'
|
; ModuleID = '<stdin>'
|
||||||
@b = constant i33 0 ; <i33*> [#uses=0]
|
@b = constant i33 0 ; <i33*> [#uses=0]
|
||||||
@c = constant i33 -2 ; <i33*> [#uses=0]
|
@c = constant i33 -2 ; <i33*> [#uses=0]
|
||||||
@d = constant i33 0 ; <i33*> [#uses=0]
|
@d = constant i33 0 ; <i33*> [#uses=0]
|
||||||
@e = constant i33 -1 ; <i33*> [#uses=0]
|
@e = constant i33 -1 ; <i33*> [#uses=0]
|
||||||
@f = constant i33 1 ; <i33*> [#uses=0]
|
@f = constant i33 1 ; <i33*> [#uses=0]
|
||||||
@g = constant i33 3 ; <i33*> [#uses=0]
|
@g = constant i33 3 ; <i33*> [#uses=0]
|
||||||
@h = constant i33 undef ; <i33*> [#uses=0]
|
@h = constant i33 undef ; <i33*> [#uses=0]
|
||||||
@i = constant i33 -4294967296 ; <i33*> [#uses=0]
|
@i = constant i33 -4294967296 ; <i33*> [#uses=0]
|
||||||
@j = constant i33 1 ; <i33*> [#uses=0]
|
@j = constant i33 1 ; <i33*> [#uses=0]
|
||||||
@l = constant i33 -1 ; <i33*> [#uses=0]
|
@l = constant i33 -1 ; <i33*> [#uses=0]
|
||||||
@n = constant i33 -2 ; <i33*> [#uses=0]
|
@n = constant i33 -2 ; <i33*> [#uses=0]
|
||||||
@q = constant i33 0 ; <i33*> [#uses=0]
|
@q = constant i33 0 ; <i33*> [#uses=0]
|
||||||
@r = constant i33 2 ; <i33*> [#uses=0]
|
@r = constant i33 2 ; <i33*> [#uses=0]
|
||||||
@s = constant i33 1 ; <i33*> [#uses=0]
|
@s = constant i33 1 ; <i33*> [#uses=0]
|
||||||
@t = constant i33 0 ; <i33*> [#uses=0]
|
@t = constant i33 0 ; <i33*> [#uses=0]
|
||||||
@o = constant i33 0 ; <i33*> [#uses=0]
|
@o = constant i33 0 ; <i33*> [#uses=0]
|
||||||
@p = constant i33 -1 ; <i33*> [#uses=0]
|
@p = constant i33 -1 ; <i33*> [#uses=0]
|
||||||
@u = constant i33 -1 ; <i33*> [#uses=0]
|
@u = constant i33 -1 ; <i33*> [#uses=0]
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
; ModuleID = '<stdin>'
|
; ModuleID = '<stdin>'
|
||||||
@b = constant i63 0 ; <i63*> [#uses=0]
|
@b = constant i63 0 ; <i63*> [#uses=0]
|
||||||
@c = constant i63 -2 ; <i63*> [#uses=0]
|
@c = constant i63 -2 ; <i63*> [#uses=0]
|
||||||
@d = constant i63 0 ; <i63*> [#uses=0]
|
@d = constant i63 0 ; <i63*> [#uses=0]
|
||||||
@e = constant i63 -1 ; <i63*> [#uses=0]
|
@e = constant i63 -1 ; <i63*> [#uses=0]
|
||||||
@f = constant i63 1 ; <i63*> [#uses=0]
|
@f = constant i63 1 ; <i63*> [#uses=0]
|
||||||
@g = constant i63 3 ; <i63*> [#uses=0]
|
@g = constant i63 3 ; <i63*> [#uses=0]
|
||||||
@h = constant i63 undef ; <i63*> [#uses=0]
|
@h = constant i63 undef ; <i63*> [#uses=0]
|
||||||
@i = constant i63 -4611686018427387904 ; <i63*> [#uses=0]
|
@i = constant i63 -4611686018427387904 ; <i63*> [#uses=0]
|
||||||
@j = constant i63 1 ; <i63*> [#uses=0]
|
@j = constant i63 1 ; <i63*> [#uses=0]
|
||||||
@l = constant i63 -1 ; <i63*> [#uses=0]
|
@l = constant i63 -1 ; <i63*> [#uses=0]
|
||||||
@n = constant i63 -2 ; <i63*> [#uses=0]
|
@n = constant i63 -2 ; <i63*> [#uses=0]
|
||||||
@q = constant i63 0 ; <i63*> [#uses=0]
|
@q = constant i63 0 ; <i63*> [#uses=0]
|
||||||
@u = constant i63 -1 ; <i63*> [#uses=0]
|
@u = constant i63 -1 ; <i63*> [#uses=0]
|
||||||
@r = constant i63 2 ; <i63*> [#uses=0]
|
@r = constant i63 2 ; <i63*> [#uses=0]
|
||||||
@s = constant i63 1 ; <i63*> [#uses=0]
|
@s = constant i63 1 ; <i63*> [#uses=0]
|
||||||
@t = constant i63 0 ; <i63*> [#uses=0]
|
@t = constant i63 0 ; <i63*> [#uses=0]
|
||||||
@o = constant i63 0 ; <i63*> [#uses=0]
|
@o = constant i63 0 ; <i63*> [#uses=0]
|
||||||
@p = constant i63 -1 ; <i63*> [#uses=0]
|
@p = constant i63 -1 ; <i63*> [#uses=0]
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
; ModuleID = '<stdin>'
|
; ModuleID = '<stdin>'
|
||||||
@b = constant i7 0 ; <i7*> [#uses=0]
|
@b = constant i7 0 ; <i7*> [#uses=0]
|
||||||
@q = constant i7 63 ; <i7*> [#uses=0]
|
@q = constant i7 63 ; <i7*> [#uses=0]
|
||||||
@c = constant i7 -2 ; <i7*> [#uses=0]
|
@c = constant i7 -2 ; <i7*> [#uses=0]
|
||||||
@d = constant i7 0 ; <i7*> [#uses=0]
|
@d = constant i7 0 ; <i7*> [#uses=0]
|
||||||
@e = constant i7 -1 ; <i7*> [#uses=0]
|
@e = constant i7 -1 ; <i7*> [#uses=0]
|
||||||
@f = constant i7 1 ; <i7*> [#uses=0]
|
@f = constant i7 1 ; <i7*> [#uses=0]
|
||||||
@g = constant i7 3 ; <i7*> [#uses=0]
|
@g = constant i7 3 ; <i7*> [#uses=0]
|
||||||
@r = constant i7 5 ; <i7*> [#uses=0]
|
@r = constant i7 5 ; <i7*> [#uses=0]
|
||||||
@s = constant i7 5 ; <i7*> [#uses=0]
|
@s = constant i7 5 ; <i7*> [#uses=0]
|
||||||
@h = constant i7 undef ; <i7*> [#uses=0]
|
@h = constant i7 undef ; <i7*> [#uses=0]
|
||||||
@i = constant i7 -64 ; <i7*> [#uses=0]
|
@i = constant i7 -64 ; <i7*> [#uses=0]
|
||||||
@j = constant i7 1 ; <i7*> [#uses=0]
|
@j = constant i7 1 ; <i7*> [#uses=0]
|
||||||
@l = constant i7 -1 ; <i7*> [#uses=0]
|
@l = constant i7 -1 ; <i7*> [#uses=0]
|
||||||
@m2 = constant i7 -1 ; <i7*> [#uses=0]
|
@m2 = constant i7 -1 ; <i7*> [#uses=0]
|
||||||
@n = constant i7 -2 ; <i7*> [#uses=0]
|
@n = constant i7 -2 ; <i7*> [#uses=0]
|
||||||
@t = constant i7 -2 ; <i7*> [#uses=0]
|
@t = constant i7 -2 ; <i7*> [#uses=0]
|
||||||
@u = constant i7 -64 ; <i7*> [#uses=0]
|
@u = constant i7 -64 ; <i7*> [#uses=0]
|
||||||
@v = constant i7 0 ; <i7*> [#uses=0]
|
@v = constant i7 0 ; <i7*> [#uses=0]
|
||||||
@w = constant i7 2 ; <i7*> [#uses=0]
|
@w = constant i7 2 ; <i7*> [#uses=0]
|
||||||
@x = constant i7 1 ; <i7*> [#uses=0]
|
@x = constant i7 1 ; <i7*> [#uses=0]
|
||||||
@y = constant i7 0 ; <i7*> [#uses=0]
|
@y = constant i7 0 ; <i7*> [#uses=0]
|
||||||
@o = constant i7 0 ; <i7*> [#uses=0]
|
@o = constant i7 0 ; <i7*> [#uses=0]
|
||||||
@p = constant i7 -1 ; <i7*> [#uses=0]
|
@p = constant i7 -1 ; <i7*> [#uses=0]
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
; ModuleID = '<stdin>'
|
; ModuleID = '<stdin>'
|
||||||
@b = constant i9 0 ; <i9*> [#uses=0]
|
@b = constant i9 0 ; <i9*> [#uses=0]
|
||||||
@c = constant i9 -2 ; <i9*> [#uses=0]
|
@c = constant i9 -2 ; <i9*> [#uses=0]
|
||||||
@d = constant i9 0 ; <i9*> [#uses=0]
|
@d = constant i9 0 ; <i9*> [#uses=0]
|
||||||
@e = constant i9 -1 ; <i9*> [#uses=0]
|
@e = constant i9 -1 ; <i9*> [#uses=0]
|
||||||
@f = constant i9 1 ; <i9*> [#uses=0]
|
@f = constant i9 1 ; <i9*> [#uses=0]
|
||||||
@g = constant i9 3 ; <i9*> [#uses=0]
|
@g = constant i9 3 ; <i9*> [#uses=0]
|
||||||
@h = constant i9 undef ; <i9*> [#uses=0]
|
@h = constant i9 undef ; <i9*> [#uses=0]
|
||||||
@i = constant i9 -256 ; <i9*> [#uses=0]
|
@i = constant i9 -256 ; <i9*> [#uses=0]
|
||||||
@j = constant i9 1 ; <i9*> [#uses=0]
|
@j = constant i9 1 ; <i9*> [#uses=0]
|
||||||
@l = constant i9 -1 ; <i9*> [#uses=0]
|
@l = constant i9 -1 ; <i9*> [#uses=0]
|
||||||
@n = constant i9 -2 ; <i9*> [#uses=0]
|
@n = constant i9 -2 ; <i9*> [#uses=0]
|
||||||
@q = constant i9 0 ; <i9*> [#uses=0]
|
@q = constant i9 0 ; <i9*> [#uses=0]
|
||||||
@r = constant i9 255 ; <i9*> [#uses=0]
|
@r = constant i9 255 ; <i9*> [#uses=0]
|
||||||
@s = constant i9 0 ; <i9*> [#uses=0]
|
@s = constant i9 0 ; <i9*> [#uses=0]
|
||||||
@t = constant i9 1 ; <i9*> [#uses=0]
|
@t = constant i9 1 ; <i9*> [#uses=0]
|
||||||
@o = constant i9 0 ; <i9*> [#uses=0]
|
@o = constant i9 0 ; <i9*> [#uses=0]
|
||||||
@p = constant i9 -1 ; <i9*> [#uses=0]
|
@p = constant i9 -1 ; <i9*> [#uses=0]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; 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]
|
@.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]
|
@.str1 = internal constant [5 x i8] c"bar\0A\00" ; <[5 x i8]*> [#uses=1]
|
||||||
|
Loading…
Reference in New Issue
Block a user