[PATCH] D26726: [SimplifyCFG] Fix for non-determinism in codegen
Grang, Mandeep Singh via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 12 11:49:55 PDT 2017
For our upcoming internal LLVM ARM toolchain release, I recently turned
ON reverse iteration and noticed the following tests case failures:
Failing Tests (11):
Clang :: Analysis/cxx-for-range.cpp
Clang :: Analysis/edges-new.mm
Clang :: Analysis/keychainAPI.m
Clang :: Analysis/malloc-plist.c
Clang :: Analysis/malloc.c
Clang :: Analysis/unix-fns.c
Clang :: Rewriter/objc-modern-metadata-visibility.mm
Clang :: SemaCXX/warn-loop-analysis.cpp
LLVM :: Transforms/SimplifyCFG/bug-25299.ll
LLVM :: Transforms/Util/PredicateInfo/condprop.ll
LLVM :: Transforms/Util/PredicateInfo/testandor.ll
I also realized that my patch to fix the failure in
Transforms/SimplifyCFG/bug-25299.ll never got merged.
Can the reviewers please review my patch? I would be submitting more
fixes for the remaining test failures in the coming weeks.
--Mandeep
On 11/21/2016 11:33 AM, Mandeep Singh Grang wrote:
> mgrang added a comment.
>
> This patch fixes the non-determinism caused due to iterating SmallSet which was uncovered due to the experimenatal "reverse iteration order " patch: https://reviews.llvm.org/D26718
>
> The following unit test fails because of the undefined order of iteration.
> LLVM :: Transforms/SimplifyCFG/bug-25299.ll
>
> This is fixed here by changing SmallSet to SmallSetVector so that the iteration order is defined.
>
>
> Repository:
> rL LLVM
>
> https://reviews.llvm.org/D26726
>
>
>
More information about the llvm-commits
mailing list