amdgpu/addrlib: add ADDR_ANALYSIS_ASSUME

It helps fix analysis warnings in MSC.
This commit is contained in:
Nicolai Hähnle
2016-07-27 19:13:57 +02:00
committed by Marek Olšák
parent 6164f23a91
commit 9e40e09089
3 changed files with 20 additions and 10 deletions
+18 -8
View File
@@ -159,16 +159,26 @@ union ADDR_CONFIG_FLAGS
///////////////////////////////////////////////////////////////////////////////////////////////////
// Debug assertions used in AddrLib
///////////////////////////////////////////////////////////////////////////////////////////////////
#if defined(_WIN32) && (_MSC_VER >= 1400)
#define ADDR_ANALYSIS_ASSUME(expr) __analysis_assume(expr)
#else
#define ADDR_ANALYSIS_ASSUME(expr) do { } while (0)
#endif
#if DEBUG
#define ADDR_ASSERT(__e) if ( !((__e) ? TRUE : FALSE)) { ADDR_DBG_BREAK(); }
#define ADDR_ASSERT_ALWAYS() ADDR_DBG_BREAK()
#define ADDR_UNHANDLED_CASE() ADDR_ASSERT(!"Unhandled case")
#define ADDR_NOT_IMPLEMENTED() ADDR_ASSERT(!"Not implemented");
#define ADDR_ASSERT(__e) \
do { \
ADDR_ANALYSIS_ASSUME(__e); \
if ( !((__e) ? TRUE : FALSE)) { ADDR_DBG_BREAK(); } \
} while (0)
#define ADDR_ASSERT_ALWAYS() ADDR_DBG_BREAK()
#define ADDR_UNHANDLED_CASE() ADDR_ASSERT(!"Unhandled case")
#define ADDR_NOT_IMPLEMENTED() ADDR_ASSERT(!"Not implemented");
#else //DEBUG
#define ADDR_ASSERT(__e)
#define ADDR_ASSERT_ALWAYS()
#define ADDR_UNHANDLED_CASE()
#define ADDR_NOT_IMPLEMENTED()
#define ADDR_ASSERT(__e) ADDR_ANALYSIS_ASSUME(__e)
#define ADDR_ASSERT_ALWAYS()
#define ADDR_UNHANDLED_CASE()
#define ADDR_NOT_IMPLEMENTED()
#endif //DEBUG
///////////////////////////////////////////////////////////////////////////////////////////////////
+1 -1
View File
@@ -4577,7 +4577,7 @@ UINT_64 EgBasedAddrLib::HwlGetSizeAdjustmentMicroTiled(
//
// R800 will always pad physical slice size to baseAlign which is pipe_interleave_bytes
//
ADDR_ASSERT((physicalSliceSize % baseAlign) == 0)
ADDR_ASSERT((physicalSliceSize % baseAlign) == 0);
return logicalSliceSize;
}
+1 -1
View File
@@ -2151,7 +2151,7 @@ UINT_32 SiAddrLib::HwlPreAdjustBank(
bankBit0 = bankBit0 ^ x4 ^ x5;
bank |= bankBit0;
ADDR_ASSERT(pTileInfo->macroAspectRatio > 1)
ADDR_ASSERT(pTileInfo->macroAspectRatio > 1);
}
return bank;