From ab6adeb8a148ddd313e1220939bd2eb3bc63a328 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Thu, 31 Jul 2014 18:33:12 +0000 Subject: UseListOrder: Handle self-users Correctly sort self-users (such as PHI nodes). I added a targeted test in `test/Bitcode/use-list-order.ll` and the final missing RUN line to tests in `test/Assembly`. This is part of PR5680. llvm-svn: 214417 --- llvm/lib/Bitcode/Writer/ValueEnumerator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Bitcode') diff --git a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp index 2ac53fea8a9..4ed739ebe4a 100644 --- a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp +++ b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp @@ -166,13 +166,13 @@ static void predictValueUseListOrderImpl(const Value *V, const Function *F, // If ID is 4, then expect: 7 6 5 1 2 3. if (LID < RID) { - if (RID < ID) + if (RID <= ID) if (!IsGlobalValue) // GlobalValue uses don't get reversed. return true; return false; } if (RID < LID) { - if (LID < ID) + if (LID <= ID) if (!IsGlobalValue) // GlobalValue uses don't get reversed. return false; return true; @@ -180,7 +180,7 @@ static void predictValueUseListOrderImpl(const Value *V, const Function *F, // LID and RID are equal, so we have different operands of the same user. // Assume operands are added in order for all instructions. - if (LID < ID) + if (LID <= ID) if (!IsGlobalValue) // GlobalValue uses don't get reversed. return LU->getOperandNo() < RU->getOperandNo(); return LU->getOperandNo() > RU->getOperandNo(); -- cgit v1.2.3