diff options
author | Eric Christopher <echristo@gmail.com> | 2019-11-25 16:33:19 -0800 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2019-11-25 17:16:46 -0800 |
commit | 8ff85ed905a7306977d07a5cd67ab4d5a56fafb4 (patch) | |
tree | a52bc11417f5a8598b2cb9dd59a08bffeeea1fb3 /clang/test/CodeGenCXX/auto-var-init.cpp | |
parent | 3687ddef2c8274b926907f63d7762cc98325459e (diff) | |
download | bcm5719-llvm-8ff85ed905a7306977d07a5cd67ab4d5a56fafb4.tar.gz bcm5719-llvm-8ff85ed905a7306977d07a5cd67ab4d5a56fafb4.zip |
As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there.
This change doesn't include any change to move from selection dag to fast isel
and that will come with other numbers that should help inform that decision.
There also haven't been any real debuggability studies with this pipeline yet,
this is just the initial start done so that people could see it and we could start
tweaking after.
Test updates: Outside of the newpm tests most of the updates are coming from either
optimization passes not run anymore (and without a compelling argument at the moment)
that were largely used for canonicalization in clang.
Original post:
http://lists.llvm.org/pipermail/llvm-dev/2019-April/131494.html
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65410
Diffstat (limited to 'clang/test/CodeGenCXX/auto-var-init.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/auto-var-init.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/clang/test/CodeGenCXX/auto-var-init.cpp b/clang/test/CodeGenCXX/auto-var-init.cpp index a2cb2c8352b..9cd71bdfd1a 100644 --- a/clang/test/CodeGenCXX/auto-var-init.cpp +++ b/clang/test/CodeGenCXX/auto-var-init.cpp @@ -645,7 +645,7 @@ TEST_UNINIT(smallpartinit, smallpartinit); // ZERO-LABEL: @test_smallpartinit_uninit() // ZERO-O0: call void @llvm.memset{{.*}}, i8 0, // ZERO-O1-LEGACY: store i16 0, i16* %uninit, align 2 -// ZERO-O1-NEWPM: store i16 42, i16* %uninit, align 2 +// ZERO-O1-NEWPM: store i16 0, i16* %uninit, align 2 TEST_BRACES(smallpartinit, smallpartinit); // CHECK-LABEL: @test_smallpartinit_braces() @@ -718,7 +718,7 @@ TEST_UNINIT(paddednullinit, paddednullinit); // PATTERN-LABEL: @test_paddednullinit_uninit() // PATTERN-O0: call void @llvm.memcpy{{.*}} @__const.test_paddednullinit_uninit.uninit // PATTERN-O1-LEGACY: store i64 [[I64]], i64* %uninit, align 8 -// PATTERN-O1-NEWPM: store i64 2863311360, i64* %uninit, align 8 +// PATTERN-O1-NEWPM: store i64 [[I64]], i64* %uninit, align 8 // ZERO-LABEL: @test_paddednullinit_uninit() // ZERO-O0: call void @llvm.memset{{.*}}, i8 0, // ZERO-O1: store i64 0, i64* %uninit, align 8 @@ -1344,10 +1344,7 @@ TEST_UNINIT(virtualderived, virtualderived); // ZERO-LABEL: @test_virtualderived_uninit() // ZERO-O0: call void @llvm.memset{{.*}}, i8 0, // ZERO-O1-LEGACY: call void @llvm.memset{{.*}}, i8 0, -// ZERO-O1-NEWPM: [[FIELD1:%.*]] = getelementptr inbounds %struct.virtualderived, %struct.virtualderived* %uninit, i64 0, i32 1, i32 0, i32 0 -// ZERO-O1-NEWPM: [[FIELD0:%.*]] = getelementptr inbounds %struct.virtualderived, %struct.virtualderived* %uninit, i64 0, i32 0, i32 0 -// ZERO-O1-NEWPM: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [7 x i8*], [5 x i8*] }, { [7 x i8*], [5 x i8*] }* @_ZTV14virtualderived, i64 0, inrange i32 0, i64 5) to i32 (...)**), i32 (...)*** [[FIELD0]], align 8 -// ZERO-O1-NEWPM: store i32 (...)** bitcast (i8** getelementptr inbounds ({ [7 x i8*], [5 x i8*] }, { [7 x i8*], [5 x i8*] }* @_ZTV14virtualderived, i64 0, inrange i32 1, i64 3) to i32 (...)**), i32 (...)*** [[FIELD1]], align 8 +// ZERO-O1-NEWPM: call void @llvm.memset{{.*}}, i8 0, TEST_BRACES(virtualderived, virtualderived); // CHECK-LABEL: @test_virtualderived_braces() |