Reapply r110396, with fixes to appease the Linux buildbot gods.

llvm-svn: 110460
diff --git a/llvm/lib/Target/ARM/NEONMoveFix.cpp b/llvm/lib/Target/ARM/NEONMoveFix.cpp
index bbdd3c7..97e54bf 100644
--- a/llvm/lib/Target/ARM/NEONMoveFix.cpp
+++ b/llvm/lib/Target/ARM/NEONMoveFix.cpp
@@ -24,7 +24,7 @@
 namespace {
   struct NEONMoveFixPass : public MachineFunctionPass {
     static char ID;
-    NEONMoveFixPass() : MachineFunctionPass(&ID) {}
+    NEONMoveFixPass() : MachineFunctionPass(ID) {}
 
     virtual bool runOnMachineFunction(MachineFunction &Fn);