mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-04 21:31:03 +00:00
Change TargetFolder's TD member from a reference to a
pointer, now that ConstantFoldConstantExpression can accept a null TargetData pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72744 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7714285efd
commit
b3ae97cffe
@ -9,8 +9,10 @@
|
||||
//
|
||||
// This file defines the TargetFolder class, a helper for IRBuilder.
|
||||
// It provides IRBuilder with a set of methods for creating constants with
|
||||
// target dependent folding. For general constant creation and folding,
|
||||
// use ConstantExpr and the routines in llvm/Analysis/ConstantFolding.h.
|
||||
// target dependent folding, in addition to the same target-independent
|
||||
// folding that the ConstantFolder class provides. For general constant
|
||||
// creation and folding, use ConstantExpr and the routines in
|
||||
// llvm/Analysis/ConstantFolding.h.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
@ -26,18 +28,18 @@ class TargetData;
|
||||
|
||||
/// TargetFolder - Create constants with target dependent folding.
|
||||
class TargetFolder {
|
||||
const TargetData &TD;
|
||||
const TargetData *TD;
|
||||
|
||||
/// Fold - Fold the constant using target specific information.
|
||||
Constant *Fold(Constant *C) const {
|
||||
if (ConstantExpr *CE = dyn_cast<ConstantExpr>(C))
|
||||
if (Constant *CF = ConstantFoldConstantExpression(CE, &TD))
|
||||
if (Constant *CF = ConstantFoldConstantExpression(CE, TD))
|
||||
return CF;
|
||||
return C;
|
||||
}
|
||||
|
||||
public:
|
||||
TargetFolder(const TargetData &TheTD) : TD(TheTD) {}
|
||||
explicit TargetFolder(const TargetData *TheTD) : TD(TheTD) {}
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Binary Operators
|
||||
|
Loading…
x
Reference in New Issue
Block a user