llvm-project/llvm/unittests/Analysis
JF Bastien 800f87a871 NFC: make AtomicOrdering an enum class
Summary:
In the context of http://wg21.link/lwg2445 C++ uses the concept of
'stronger' ordering but doesn't define it properly. This should be fixed
in C++17 barring a small question that's still open.

The code currently plays fast and loose with the AtomicOrdering
enum. Using an enum class is one step towards tightening things. I later
also want to tighten related enums, such as clang's
AtomicOrderingKind (which should be shared with LLVM as a 'C++ ABI'
enum).

This change touches a few lines of code which can be improved later, I'd
like to keep it as NFC for now as it's already quite complex. I have
related changes for clang.

As a follow-up I'll add:
  bool operator<(AtomicOrdering, AtomicOrdering) = delete;
  bool operator>(AtomicOrdering, AtomicOrdering) = delete;
  bool operator<=(AtomicOrdering, AtomicOrdering) = delete;
  bool operator>=(AtomicOrdering, AtomicOrdering) = delete;
This is separate so that clang and LLVM changes don't need to be in sync.

Reviewers: jyknight, reames

Subscribers: jyknight, llvm-commits

Differential Revision: http://reviews.llvm.org/D18775

llvm-svn: 265602
2016-04-06 21:19:33 +00:00
..
AliasAnalysisTest.cpp NFC: make AtomicOrdering an enum class 2016-04-06 21:19:33 +00:00
BlockFrequencyInfoTest.cpp Add getBlockProfileCount method to BlockFrequencyInfo 2016-03-23 18:18:26 +00:00
CFGTest.cpp unittests: Remove implicit ilist iterator conversions, NFC 2015-10-20 18:30:20 +00:00
CGSCCPassManagerTest.cpp [PM] Make the AnalysisManager parameter to run methods a reference. 2016-03-11 11:05:24 +00:00
CMakeLists.txt Add getBlockProfileCount method to BlockFrequencyInfo 2016-03-23 18:18:26 +00:00
CallGraphTest.cpp CallGraphTest.cpp: Remove invalid tests. ++S might step over F if S == F. 2014-11-18 12:23:19 +00:00
LazyCallGraphTest.cpp [LCG] Construct an actual call graph with call-edge SCCs nested inside 2016-02-17 00:18:16 +00:00
LoopPassManagerTest.cpp [PM] Make the AnalysisManager parameter to run methods a reference. 2016-03-11 11:05:24 +00:00
MixedTBAATest.cpp [PM/AA] Port alias analysis evaluator to the new pass manager, and use 2016-02-20 03:46:03 +00:00
ScalarEvolutionTest.cpp Use EXPECT_EQ in the unittests instead of plain assert 2016-02-22 07:20:40 +00:00
UnrollAnalyzer.cpp [LoopUnroll] Convert some existing tests to unit-tests. 2016-03-12 01:28:56 +00:00
ValueTrackingTest.cpp [ValueTracking] Minor comment change in test 2015-09-02 17:29:54 +00:00