summaryrefslogtreecommitdiff
path: root/test/Transforms/MetaRenamer
diff options
context:
space:
mode:
authorAlex Rosenberg <alexr@leftfield.org>2012-09-11 02:46:18 +0000
committerAlex Rosenberg <alexr@leftfield.org>2012-09-11 02:46:18 +0000
commit95f1ef4ac7f3bf7fd0c4636984fe1c5f8e4190a9 (patch)
tree32308ccdef429879bca1c388d975997010f16afc /test/Transforms/MetaRenamer
parentdd201ff1dcbc138cde07fb86896d491134987a2e (diff)
downloadllvm-95f1ef4ac7f3bf7fd0c4636984fe1c5f8e4190a9.tar.gz
llvm-95f1ef4ac7f3bf7fd0c4636984fe1c5f8e4190a9.tar.bz2
llvm-95f1ef4ac7f3bf7fd0c4636984fe1c5f8e4190a9.tar.xz
Add a pass that renames everything with metasyntatic names. This works well after using bugpoint to reduce the confusion presented by the original names, which no longer mean what they used to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163592 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/MetaRenamer')
-rw-r--r--test/Transforms/MetaRenamer/lit.local.cfg1
-rw-r--r--test/Transforms/MetaRenamer/metarenamer.ll96
2 files changed, 97 insertions, 0 deletions
diff --git a/test/Transforms/MetaRenamer/lit.local.cfg b/test/Transforms/MetaRenamer/lit.local.cfg
new file mode 100644
index 0000000000..19eebc0ac7
--- /dev/null
+++ b/test/Transforms/MetaRenamer/lit.local.cfg
@@ -0,0 +1 @@
+config.suffixes = ['.ll', '.c', '.cpp']
diff --git a/test/Transforms/MetaRenamer/metarenamer.ll b/test/Transforms/MetaRenamer/metarenamer.ll
new file mode 100644
index 0000000000..ad41bcf50f
--- /dev/null
+++ b/test/Transforms/MetaRenamer/metarenamer.ll
@@ -0,0 +1,96 @@
+; RUN: opt %s -metarenamer -S | FileCheck %s
+
+; CHECK: target triple {{.*}}
+; CHECK-NOT: {{^x*}}xxx{{^x*}}
+; CHECK: ret i32 6
+
+target triple = "x86_64-pc-linux-gnu"
+
+%struct.bar_xxx = type { i32, double }
+%struct.foo_xxx = type { i32, float, %struct.bar_xxx }
+
+@func_5_xxx.static_local_3_xxx = internal global i32 3, align 4
+@global_3_xxx = common global i32 0, align 4
+
+@func_7_xxx = alias weak i32 (...)* @aliased_func_7_xxx
+
+declare i32 @aliased_func_7_xxx(...)
+
+define i32 @func_3_xxx() nounwind uwtable ssp {
+ ret i32 3
+}
+
+define void @func_4_xxx(%struct.foo_xxx* sret %agg.result) nounwind uwtable ssp {
+ %1 = alloca %struct.foo_xxx, align 8
+ %2 = getelementptr inbounds %struct.foo_xxx* %1, i32 0, i32 0
+ store i32 1, i32* %2, align 4
+ %3 = getelementptr inbounds %struct.foo_xxx* %1, i32 0, i32 1
+ store float 2.000000e+00, float* %3, align 4
+ %4 = getelementptr inbounds %struct.foo_xxx* %1, i32 0, i32 2
+ %5 = getelementptr inbounds %struct.bar_xxx* %4, i32 0, i32 0
+ store i32 3, i32* %5, align 4
+ %6 = getelementptr inbounds %struct.bar_xxx* %4, i32 0, i32 1
+ store double 4.000000e+00, double* %6, align 8
+ %7 = bitcast %struct.foo_xxx* %agg.result to i8*
+ %8 = bitcast %struct.foo_xxx* %1 to i8*
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* %7, i8* %8, i64 24, i32 8, i1 false)
+ ret void
+}
+
+declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind
+
+define i32 @func_5_xxx(i32 %arg_1_xxx, i32 %arg_2_xxx, i32 %arg_3_xxx, i32 %arg_4_xxx) nounwind uwtable ssp {
+ %1 = alloca i32, align 4
+ %2 = alloca i32, align 4
+ %3 = alloca i32, align 4
+ %4 = alloca i32, align 4
+ %local_1_xxx = alloca i32, align 4
+ %local_2_xxx = alloca i32, align 4
+ %i = alloca i32, align 4
+ store i32 %arg_1_xxx, i32* %1, align 4
+ store i32 %arg_2_xxx, i32* %2, align 4
+ store i32 %arg_3_xxx, i32* %3, align 4
+ store i32 %arg_4_xxx, i32* %4, align 4
+ store i32 1, i32* %local_1_xxx, align 4
+ store i32 2, i32* %local_2_xxx, align 4
+ store i32 0, i32* %i, align 4
+ br label %5
+
+; <label>:5 ; preds = %9, %0
+ %6 = load i32* %i, align 4
+ %7 = icmp slt i32 %6, 10
+ br i1 %7, label %8, label %12
+
+; <label>:8 ; preds = %5
+ br label %9
+
+; <label>:9 ; preds = %8
+ %10 = load i32* %i, align 4
+ %11 = add nsw i32 %10, 1
+ store i32 %11, i32* %i, align 4
+ br label %5
+
+; <label>:12 ; preds = %5
+ %13 = load i32* %local_1_xxx, align 4
+ %14 = load i32* %1, align 4
+ %15 = add nsw i32 %13, %14
+ %16 = load i32* %local_2_xxx, align 4
+ %17 = add nsw i32 %15, %16
+ %18 = load i32* %2, align 4
+ %19 = add nsw i32 %17, %18
+ %20 = load i32* @func_5_xxx.static_local_3_xxx, align 4
+ %21 = add nsw i32 %19, %20
+ %22 = load i32* %3, align 4
+ %23 = add nsw i32 %21, %22
+ %24 = load i32* %4, align 4
+ %25 = add nsw i32 %23, %24
+ ret i32 %25
+}
+
+define i32 @varargs_func_6_xxx(i32 %arg_1_xxx, i32 %arg_2_xxx, ...) nounwind uwtable ssp {
+ %1 = alloca i32, align 4
+ %2 = alloca i32, align 4
+ store i32 %arg_1_xxx, i32* %1, align 4
+ store i32 %arg_2_xxx, i32* %2, align 4
+ ret i32 6
+}