Integrate new arm patch and fix an LLVM bug

Thanks @luqama!
This commit is contained in:
Alex Crichton 2013-08-02 00:55:49 -07:00
parent bb93930575
commit 60e9507086
2 changed files with 4 additions and 2 deletions

View File

@ -89,7 +89,7 @@ pub enum Attribute {
// Not added to LLVM yet, so may need to stay updated if LLVM changes.
// FIXME(#8199): if this changes, be sure to change the relevant constant
// down below
FixedStackSegment = 1 << 41,
// FixedStackSegment = 1 << 41,
}
// enum for the LLVM IntPredicate type
@ -2124,10 +2124,12 @@ pub fn SetFunctionAttribute(Fn: ValueRef, attr: Attribute) {
// Furthermore, if we use a match of any sort then an LLVM
// assertion is generated!
pub fn SetFixedStackSegmentAttribute(Fn: ValueRef) {
unsafe {
let attr = 1u64 << 41;
let lower = attr & 0xffffffff;
let upper = (attr >> 32) & 0xffffffff;
llvm::LLVMAddFunctionAttr(Fn, lower as c_uint, upper as c_uint);
}
}
/* Memory-managed object interface to type handles. */

@ -1 +1 @@
Subproject commit e3abef3eedc8d5bad3420c7e29bf2fe80585316a
Subproject commit f67442eee27d3d075a65cf7f9a70f7ec6649ffd1