svn commit: r223354 -
projects/llvm-ia64/contrib/llvm/lib/Target/IA64
Marcel Moolenaar
marcel at FreeBSD.org
Tue Jun 21 03:42:00 UTC 2011
Author: marcel
Date: Tue Jun 21 03:42:00 2011
New Revision: 223354
URL: http://svn.freebsd.org/changeset/base/223354
Log:
o remove getFunctionAlignment(). It's not part of the class.
o set the minimum and preferred function alignment.
o set the size and alignment of the jump buffer.
Modified:
projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp
projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.h
Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp Tue Jun 21 03:07:59 2011 (r223353)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.cpp Tue Jun 21 03:42:00 2011 (r223354)
@@ -34,20 +34,17 @@ IA64TargetLowering::IA64TargetLowering(I
TD = getTargetData();
// Set up the register classes.
+ addRegisterClass(MVT::i64, &IA64::BranchRegClass);
addRegisterClass(MVT::f128, &IA64::FloatingPointRegClass);
addRegisterClass(MVT::i64, &IA64::GeneralRegClass);
addRegisterClass(MVT::i1, &IA64::PredicateRegClass);
// Compute derived properties from the register classes
computeRegisterProperties();
-}
-unsigned
-IA64TargetLowering::getFunctionAlignment(const Function *F) const
-{
- // Functions must have at least 16-byte alignment, but 32-byte alignment
- // is better because branch targets should be aligned on 32-byte boundaries
- // to ensure that the front-end can deliver 2 bundles per cycle to the
- // back-end.
- return F->hasFnAttr(Attribute::OptimizeForSize) ? 4 : 5;
+ setMinFunctionAlignment(4);
+ setPrefFunctionAlignment(5);
+
+ setJumpBufSize(512);
+ setJumpBufAlignment(16);
}
Modified: projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.h
==============================================================================
--- projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.h Tue Jun 21 03:07:59 2011 (r223353)
+++ projects/llvm-ia64/contrib/llvm/lib/Target/IA64/IA64TargetLowering.h Tue Jun 21 03:42:00 2011 (r223354)
@@ -17,8 +17,6 @@ namespace llvm {
public:
explicit IA64TargetLowering(IA64TargetMachine &TM);
-
- virtual unsigned getFunctionAlignment(const Function *F) const;
};
} // namespace llvm
More information about the svn-src-projects
mailing list