Merge "Fix return range for rsSample."
diff --git a/lib/ExecutionEngine/Source.cpp b/lib/ExecutionEngine/Source.cpp
index 754f3e5..90aaf2b 100644
--- a/lib/ExecutionEngine/Source.cpp
+++ b/lib/ExecutionEngine/Source.cpp
@@ -58,7 +58,7 @@
size_t pBitcodeSize) {
llvm::StringRef input_data(pBitcode, pBitcodeSize);
llvm::MemoryBuffer *input_memory =
- llvm::MemoryBuffer::getMemBuffer(input_data, pName);
+ llvm::MemoryBuffer::getMemBuffer(input_data, "", false);
if (input_memory == NULL) {
ALOGE("Unable to load bitcode `%s' from buffer!", pName);
diff --git a/lib/ScriptCRT/Android.mk b/lib/ScriptCRT/Android.mk
index 85b0f33..4227875 100644
--- a/lib/ScriptCRT/Android.mk
+++ b/lib/ScriptCRT/Android.mk
@@ -28,7 +28,8 @@
rs_sampler.c \
convert.ll \
matrix.ll \
- pixel_packing.ll
+ pixel_packing.ll \
+ math.ll
clcore_files := \
$(clcore_base_files) \
diff --git a/lib/ScriptCRT/math.ll b/lib/ScriptCRT/math.ll
new file mode 100644
index 0000000..4ea2b10
--- /dev/null
+++ b/lib/ScriptCRT/math.ll
@@ -0,0 +1,16 @@
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32-S64"
+target triple = "armv7-none-linux-gnueabi"
+
+declare float @llvm.sqrt.f32(float)
+declare float @llvm.pow.f32(float, float)
+
+define float @_Z4sqrtf(float %v) {
+ %1 = tail call float @llvm.sqrt.f32(float %v)
+ ret float %1
+}
+
+define float @_Z3powf(float %v1, float %v2) {
+ %1 = tail call float @llvm.pow.f32(float %v1, float %v2)
+ ret float %1
+}
+