Handle variable arguments for ARM/Mips/X86.

Expand va_arg LLVM instruction in a target-specific manner.

Change-Id: Iddf071b7f4026f003df2ad129fd940c506e9ec99
diff --git a/lib/AndroidBitcode/ABCCompiler.cpp b/lib/AndroidBitcode/ABCCompiler.cpp
index 1b7294d..8393d48 100644
--- a/lib/AndroidBitcode/ABCCompiler.cpp
+++ b/lib/AndroidBitcode/ABCCompiler.cpp
@@ -21,9 +21,12 @@
 #include <llvm/Target/TargetData.h>
 #include <llvm/Target/TargetMachine.h>
 
+#include "bcc/AndroidBitcode/ABCCompilerDriver.h"
+#include "bcc/AndroidBitcode/ABCExpandVAArgPass.h"
 #include "bcc/Script.h"
 #include "bcc/Source.h"
 
+
 namespace bcc {
 
 bool ABCCompiler::beforeAddCodeGenPasses(Script &pScript,
@@ -39,6 +42,7 @@
   }
 
   pm.add(target_data);
+  pm.add(mDriver.createExpandVAArgPass());
   pm.run(module);
 
   return true;