mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 00:17:01 +00:00
Target specific ifcvt code duplication limit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37384 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -440,6 +440,13 @@ public:
|
|||||||
return IfCvtBlockSizeLimit;
|
return IfCvtBlockSizeLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// getIfCvtDupBlockLimit - returns the target specific size limit for a
|
||||||
|
/// block to be considered for duplication. Any block whose size is greater
|
||||||
|
/// should not be duplicated to facilitate its predication.
|
||||||
|
virtual unsigned getIfCvtDupBlockSizeLimit() const {
|
||||||
|
return IfCvtDupBlockSizeLimit;
|
||||||
|
}
|
||||||
|
|
||||||
/// getPreIndexedAddressParts - returns true by value, base pointer and
|
/// getPreIndexedAddressParts - returns true by value, base pointer and
|
||||||
/// offset pointer and addressing mode by reference if the node's address
|
/// offset pointer and addressing mode by reference if the node's address
|
||||||
/// can be legally represented as pre-indexed load / store address.
|
/// can be legally represented as pre-indexed load / store address.
|
||||||
@@ -758,11 +765,18 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// setIfCvtBlockSizeLimit - Set the target's if-conversion block size
|
/// setIfCvtBlockSizeLimit - Set the target's if-conversion block size
|
||||||
/// (in number of instructions); default is 2.
|
/// limit (in number of instructions); default is 2.
|
||||||
void setIfCvtBlockSizeLimit(unsigned Limit) {
|
void setIfCvtBlockSizeLimit(unsigned Limit) {
|
||||||
IfCvtBlockSizeLimit = Limit;
|
IfCvtBlockSizeLimit = Limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// setIfCvtDupBlockSizeLimit - Set the target's block size limit (in number
|
||||||
|
/// of instructions) to be considered for code duplication during
|
||||||
|
/// if-conversion; default is 2.
|
||||||
|
void setIfCvtDupBlockSizeLimit(unsigned Limit) {
|
||||||
|
IfCvtDupBlockSizeLimit = Limit;
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//===--------------------------------------------------------------------===//
|
//===--------------------------------------------------------------------===//
|
||||||
@@ -995,10 +1009,14 @@ private:
|
|||||||
/// buffers
|
/// buffers
|
||||||
unsigned JumpBufAlignment;
|
unsigned JumpBufAlignment;
|
||||||
|
|
||||||
/// IfCvtBlockSizeLimit - The maximum allowed block size for if-conversion.
|
/// IfCvtBlockSizeLimit - The maximum allowed size for a block to be
|
||||||
///
|
/// if-converted.
|
||||||
unsigned IfCvtBlockSizeLimit;
|
unsigned IfCvtBlockSizeLimit;
|
||||||
|
|
||||||
|
/// IfCvtDupBlockSizeLimit - The maximum allowed size for a block to be
|
||||||
|
/// duplicated during if-conversion.
|
||||||
|
unsigned IfCvtDupBlockSizeLimit;
|
||||||
|
|
||||||
/// StackPointerRegisterToSaveRestore - If set to a physical register, this
|
/// StackPointerRegisterToSaveRestore - If set to a physical register, this
|
||||||
/// specifies the register that llvm.savestack/llvm.restorestack should save
|
/// specifies the register that llvm.savestack/llvm.restorestack should save
|
||||||
/// and restore.
|
/// and restore.
|
||||||
|
|||||||
Reference in New Issue
Block a user