diff --git a/src/liballoc/heap.rs b/src/liballoc/heap.rs
index 51e6f2f8bd7a6..7170d8b30e6bf 100644
--- a/src/liballoc/heap.rs
+++ b/src/liballoc/heap.rs
@@ -130,7 +130,7 @@ pub const EMPTY: *mut () = 0x1 as *mut ();
// This function must not unwind. If it does, MIR trans will fail.
#[cfg(not(test))]
#[lang = "exchange_malloc"]
-#[inline]
+#[inline(never)]
unsafe fn exchange_malloc(size: usize, align: usize) -> *mut u8 {
if size == 0 {
EMPTY as *mut u8
diff --git a/src/librustc/mir/cache.rs b/src/librustc/mir/cache.rs
index bc9bbebb1796a..f8bff4de555e0 100644
--- a/src/librustc/mir/cache.rs
+++ b/src/librustc/mir/cache.rs
@@ -11,13 +11,14 @@
use std::cell::{Ref, RefCell};
use rustc_data_structures::indexed_vec::IndexVec;
-use mir::{Mir, BasicBlock};
+use mir::{Mir, Block};
use rustc_serialize as serialize;
#[derive(Clone, Debug)]
pub struct Cache {
- predecessors: RefCell