[llvm-commits] CVS: llvm/include/llvm/Target/TargetLowering.h
Evan Cheng
evan.cheng at apple.com
Fri Jun 1 01:25:46 PDT 2007
Changes in directory llvm/include/llvm/Target:
TargetLowering.h updated: 1.126 -> 1.127
---
Log message:
Target specific ifcvt code duplication limit.
---
Diffs of the changes: (+21 -3)
TargetLowering.h | 24 +++++++++++++++++++++---
1 files changed, 21 insertions(+), 3 deletions(-)
Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.126 llvm/include/llvm/Target/TargetLowering.h:1.127
--- llvm/include/llvm/Target/TargetLowering.h:1.126 Thu May 17 19:00:30 2007
+++ llvm/include/llvm/Target/TargetLowering.h Fri Jun 1 03:25:24 2007
@@ -440,6 +440,13 @@
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
/// offset pointer and addressing mode by reference if the node's address
/// can be legally represented as pre-indexed load / store address.
@@ -758,11 +765,18 @@
}
/// 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) {
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:
//===--------------------------------------------------------------------===//
@@ -995,10 +1009,14 @@
/// buffers
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;
+ /// IfCvtDupBlockSizeLimit - The maximum allowed size for a block to be
+ /// duplicated during if-conversion.
+ unsigned IfCvtDupBlockSizeLimit;
+
/// StackPointerRegisterToSaveRestore - If set to a physical register, this
/// specifies the register that llvm.savestack/llvm.restorestack should save
/// and restore.
More information about the llvm-commits
mailing list