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;