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. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits