aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyungwoo Lee <kyulee@meta.com>2025-03-25 10:01:10 -0700
committerKyungwoo Lee <kyulee@meta.com>2025-03-25 10:01:10 -0700
commit232f180b956c085dbed4feb7514f8110ad4bb2af (patch)
treed27dff6db56525d7df75320a21bfd0747dd32738
parentcd708029e0b2869e80abe31ddb175f7c35361f90 (diff)
downloadllvm-users/kyulee-com/inline0.zip
llvm-users/kyulee-com/inline0.tar.gz
llvm-users/kyulee-com/inline0.tar.bz2
-rw-r--r--llvm/tools/inline0/CMakeLists.txt12
-rw-r--r--llvm/tools/inline0/t1.c9
-rw-r--r--llvm/tools/inline0/t2.c10
-rw-r--r--llvm/tools/inline0/t3.c8
4 files changed, 39 insertions, 0 deletions
diff --git a/llvm/tools/inline0/CMakeLists.txt b/llvm/tools/inline0/CMakeLists.txt
new file mode 100644
index 0000000..1d01bc6
--- /dev/null
+++ b/llvm/tools/inline0/CMakeLists.txt
@@ -0,0 +1,12 @@
+set(LLVM_LINK_COMPONENTS
+ Core
+ )
+
+add_llvm_tool(inline0
+ t1.c
+ t2.c
+ t3.c
+
+ DEPENDS
+ intrinsics_gen
+ )
diff --git a/llvm/tools/inline0/t1.c b/llvm/tools/inline0/t1.c
new file mode 100644
index 0000000..ee4ab1f
--- /dev/null
+++ b/llvm/tools/inline0/t1.c
@@ -0,0 +1,9 @@
+#ifdef ALWAYS_INLINE
+__attribute__((always_inline))
+#endif
+int foo(int a, int b) {
+ int s= 0;
+ for(int i = a; i < b; ++i)
+ s+=i;
+ return s*3;
+}
diff --git a/llvm/tools/inline0/t2.c b/llvm/tools/inline0/t2.c
new file mode 100644
index 0000000..f675b50b
--- /dev/null
+++ b/llvm/tools/inline0/t2.c
@@ -0,0 +1,10 @@
+int foo(int a, int b);
+
+int goo(int c, int d) {
+ int s= 0;
+ for(int i = c; i < d; ++i)
+ s+=foo(i, d);
+ for(int i = c*s; i < d*s*3; ++i)
+ s+=i*3;
+ return s;
+}
diff --git a/llvm/tools/inline0/t3.c b/llvm/tools/inline0/t3.c
new file mode 100644
index 0000000..55c02e8
--- /dev/null
+++ b/llvm/tools/inline0/t3.c
@@ -0,0 +1,8 @@
+int foo(int a, int b);
+int goo(int a, int b);
+
+int main() {
+ int s = 0;
+ s =+ goo(3,2)* goo(5,1);
+ return foo(s, s+1);
+}