1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
/*========================== begin_copyright_notice ============================
Copyright (C) 2021 Intel Corporation
SPDX-License-Identifier: MIT
============================= end_copyright_notice ===========================*/
#ifndef IGCLLVM_IR_DATALAYOUT_H
#define IGCLLVM_IR_DATALAYOUT_H
#include "llvm/IR/DataLayout.h"
#include "llvm/Config/llvm-config.h"
namespace IGCLLVM
{
/* * * * *
* This section provides compatibility for deprecated
* unsigned llvm::DataLayout::getPreferredAlignment().
*
* In LLVM 10 and earlier llvm::Align was not standarized yet and getPreferredAlignment()
* was used, which returned unsigned.
*/
inline unsigned getPreferredAlignValue(llvm::DataLayout* DL, const llvm::GlobalVariable* GV)
{
#if LLVM_VERSION_MAJOR <= 10
return DL->getPreferredAlignment(GV);
#else
return (unsigned)DL->getPreferredAlign(GV).value();
#endif
}
} // namespace IGCLLVM
#endif // IGCLLVM_IR_DATALAYOUT_H
|