Skip to content

Commit

Permalink
Merge pull request #35477 from JuliaLang/vc/ppc_llvm9
Browse files Browse the repository at this point in the history
[LLVM/PPC] Fix assertion/seqfault during debug build
  • Loading branch information
vchuravy authored Apr 16, 2020
2 parents 4acd512 + 1966e1a commit b0f3403
Show file tree
Hide file tree
Showing 108 changed files with 117 additions and 53 deletions.
2 changes: 1 addition & 1 deletion deps/Versions.make
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
LLVM_VER = 9.0.1
LLVM_BB_REL = 4
LLVM_BB_REL = 6
PCRE_VER = 10.31
PCRE_BB_REL = 0
DSFMT_VER = 2.2.3
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
820e29ee232dfb3f3dd3a1e6252a092d
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
67e2a5751b5dd1fc57a9a06aef7498ea32d31653bcc5c806f8fde6a6be42a562694ec283e721f6c33112095bda876f2653bfe642466e96e18aaded6281a3a944
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
26025efc645de8626736ce90caf5e550
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
6724a19f05eb70e8a411bf70c5c49f0b122cefdf59cb6c99bc5da5e2c298df3449b6e032bca2389872bb2c2eff8d59b1ac399792256570811bff736dfa7d027e
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
d4d389a1365f449584c293304f90254a
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
f7046adda3f15347098ac426694961457ae0e34673befde8b8058d904745ada77ece51217d0e047039aaf45e74bd4763b87e3fdcc2a07a5c35eb30c28e6af700
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e0395a7182276cfc20c0f2e1d83b3223
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e8f7732da3e8b0f8172c673ce12c1e53f2c1e9f9c24e74e2ef0adef7bda43ade7ca28dadbc2a876907adbff34ca3a81dccc4edab0f9133d7f94d3e5f9204e7db
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
72e6cd12c1e9d2346d0092a62aa521ee
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3270e090fc282a7806e7459e7a6c0561a3ee638172d0ad6841f61c57bf84842e1a0819b9b6a4be02ac2a5d2ced85eb9e5113e22193254a5257f527663cb284c0
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3afa76198012e539d6fb58417ffc75fe
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
68aae6fa278f442cf7d4c9d51c16c3bfa340b524d697746632c6d36f47be6ef83f61757d68fb8ad9f065af44199b8864ba042658ceea3ccce139a2581dc21949
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
6d28d58c61da92ee59d8ded989911a89
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ae2ac396cafec1589279bed8525e4c9417e87af36a9a87694b31dbbb39d8c0900f9a05e0aba0f95324568b5e777bdd9e50056c573d5cdc6b1d5846d688a84324
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
6747af86c9264357dc35ececbb82a2c2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
5b7cb7d6576d5875f308f3fccb3defac90a7426f7889ea6e868c6677f5ba6e5e60a98c76b62c90b7e8f648abfeac909ad5ef3b35717122a3d7da00d177740bf3
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fbe7c189ed08859280e630847a369e8b
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
078c8e844090bdba22de9a4d775a3f6591d581f5229ea256fba351ad38eee0a0fbbec39d1d8bc2b5711ad1104eecca02b31ada0d509d01e72dca6e2416c535c3
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
42cfb1e97a96aaf24dc630643b1161b9
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fff5fcc9acf18b3cae9e6bd5debe6b5afbf521787572f46daaed29c29198b2710f0c388588a805466acfb3bd470e263a676fdd259d49d74a4594acf5d7e34802
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0bc13770ee11d026a116a031c9a7b753
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
21a5d27441fb3603c852bee30fddd3eb52be7214704fbe61e73541fb1b31882bb1a1b60317bc92d313baada0eea912262bc56e7227506efe0d1e18d63b373551
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
e634acdb7a6c41fdb1c39ad2cfd8d36c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
437a1d7c54522f83b0368974db722c4af66f60eccd15e46013afaf26b9766bb02c6868c8c43fe15f9ac353f6efd82f877bdec1316405607eb9b768851ee72baa
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
f94309650a09f243013985d851c0f3b3
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4eb6de5b42815e50834be76364b3150e0ba4e351e8d4d6343bed04adc8fbbaf62dd5aa423c64782f8abd3ee9fc9b9a5c251f6b6627b35d29abeca200847ef5ba
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1b93838bd9f0730d47c8cedbf4fdef2c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
05a3bf32d920356e14afdfad4bcd146c16745df1a3a0a6f23285fe469dd0c8dabd6512809913dab1f5a2a7dd19f0c0c556ac04d33ec14094eddaa6f41c7a330f
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
50e8a8b41c9429c468cbe2049722491c
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
52973b685258189a84b127bf4707a68f54ed791c31f9e099da8e15c763aea8f36e378a2b54e974cf5bc339899253725e5a79765a2f0c2003439ea7fe233b0598
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7c6556bc512b746aeaa8109fed7c3f9f
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
206248a3c674e3d456b795fcd19f6bf9ecb617d46f3a38690ad58b7438d1f407bdabe82dd8cb0c035067789d3ba0b04efcf32ee7f10a768b28b2a35cbf59919f
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
396d04b690bbc7f62fc9ceffa77446ad
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
f2b2ef233e03f0b3c1fd38aa35c9df5f9dfd2c812c5d520e038ade1a9a6b2fccd518cea9da491b1058969ddfa019eadaac20ce1229b8d5937edea2529f2fd156
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
d5d7ca633684a037836441812c9278ab
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7d88973864ae51e53c4bfdaeb7868a1d6eb551dfff8d1896b748866830d2a7f20a179f551b1a8bbba24869d49a94597215046495923956e3905db76b3d990aba
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
f2543446d411a663a95a080f02178ea4
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2e631514ff20d0dbe9b7884239fa3eda07ef030241a142e2d31c8c0ba34d556ac2f10082e7caf9b09cd9b393a01cad1ac3037bfa64654d01c92afcee8dfc03b9
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
358d086fc1206f340e2c398ee14dc2c8
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9da82475cd8d2749aa42e789d2974e7c419068d8c23d355b5426b884aff5be696af526e04c23fc62dd7724af99ec8af9176080085d373eed7b83ad7f42c85f79
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
a819a7ee3ea33bbe4dfd3374e2f3f532
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
b708e12160153dfb62e89afe61fe88e67c93c0237e319c4a0f8a2957863b49ae0ee59afc5c03ae7e6676cc9180c006b18c9d502f5608238f0ee060ad1f698981
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9b8b1637082c5b81c3a91bcd25a29589
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2742f3a2318bfe373029ed67853b4190a9fbb75b05f26d9df79bfaba457c3bf8c0bc8ad05979d427146832b6ce824f3081f4b1f24483d4ea7f49ef55ddda185b
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dfa67ef880486c18c971f132209a7a48
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
542dbd7752f3b31be78e565d87e17895eff701d6633406315e2bb03158e1d2e9eb9754ee96c0a9536569e3236a7cf458cb93e83caacb9abf948a5dffe6afc87b
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
359729efe833f80ebb6589166c8516b2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8f906d3f01d717ac3a7f1ffee55af1414d9b570d31da9b2ddc70ba7b7f8b9afe9ace96d76f523d8ef440bb58004ee41e92b968b495fe4247f6fc31d69a7c9e77
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
00594ea7dca2c8b9190b8911667224e5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
92701c2bc084a8dcb61a34b78f2f518a884e413b13a9129a0f259daa3c8d6dc1ab57f38b52254f1d5177455f377bbda3ff8844f83c5223531c77d553b49c6615
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1ed5be21663bef25c92e05a780ae2a56
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
c58c73ad6b8adf62f183cbd04d632441e36f7424a2eeeab046d0b8938bd6f6ac74912c85fa879809bafdf73e9ed190fdf19d1721ee6cf8a0a137e78995a47ab1
2 changes: 2 additions & 0 deletions deps/llvm.mk
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,8 @@ $(eval $(call LLVM_PATCH,llvm-8.0-D66657-codegen-degenerate)) # remove for 10.0
$(eval $(call LLVM_PATCH,llvm-8.0-D71495-vectorize-freduce)) # remove for 10.0
$(eval $(call LLVM_PATCH,llvm-D75072-SCEV-add-type))
$(eval $(call LLVM_PATCH,llvm-9.0-D65174-limit-merge-stores)) # remove for 10.0
$(eval $(call LLVM_PATCH,llvm9-D71443-PPC-MC-redef-symbol)) # remove for 10.0
$(eval $(call LLVM_PATCH,llvm-9.0-D78196)) # remove for 11.0
endif # LLVM_VER 9.0

ifeq ($(LLVM_VER_SHORT),10.0)
Expand Down
15 changes: 15 additions & 0 deletions deps/patches/llvm-9.0-D78196.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
diff --git a/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp b/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
--- a/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
+++ b/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
@@ -210,6 +210,10 @@
for (auto *Sym : UpdateOther)
if (Sym->isVariable())
copyLocalEntry(Sym, Sym->getVariableValue());
+
+ // Clear the set of symbols that needs to be updated so the streamer can
+ // be reused without issues.
+ UpdateOther.clear();
}

private:

47 changes: 47 additions & 0 deletions deps/patches/llvm9-D71443-PPC-MC-redef-symbol.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
From 5cd52dbfa9c60cfd12676924bed97701ee9bc4ef Mon Sep 17 00:00:00 2001
From: Fangrui Song <[email protected]>
Date: Thu, 12 Dec 2019 16:18:57 -0800
Subject: [PATCH] [MC][PowerPC] Fix a crash when redefining a symbol after .set

Fix PR44284. This is probably not valid assembly but we should not crash.

Reviewed By: luporl, #powerpc, steven.zhang

Differential Revision: https://reviews.llvm.org/D71443

(cherry picked from commit f99eedeb72644671cd584f48e4c136d47f6b0020)
---
llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp | 3 ++-
llvm/test/MC/PowerPC/ppc64-localentry-symbols.s | 5 +++++
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
index 90c3c8d20ed..71f926c265e 100644
--- llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
+++ llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
@@ -196,7 +196,8 @@ public:

void finish() override {
for (auto *Sym : UpdateOther)
- copyLocalEntry(Sym, Sym->getVariableValue());
+ if (Sym->isVariable())
+ copyLocalEntry(Sym, Sym->getVariableValue());
}

private:
diff --git llvm/test/MC/PowerPC/ppc64-localentry-symbols.s llvm/test/MC/PowerPC/ppc64-localentry-symbols.s
index f1d5c5d0ab1..a663af57ad4 100644
--- llvm/test/MC/PowerPC/ppc64-localentry-symbols.s
+++ llvm/test/MC/PowerPC/ppc64-localentry-symbols.s
@@ -32,3 +32,8 @@ func:
nop
nop
.localentry func, 8
+
+## PR44284 Don't crash if err is redefined after .set
+.set err, _err
+.globl err
+err:
--
2.26.0

4 comments on commit b0f3403

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Executing the daily benchmark build, I will reply here when finished:

@nanosoldier runbenchmarks(ALL, isdaily = true)

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @ararslan

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Executing the daily package evaluation, I will reply here when finished:

@nanosoldier runtests(ALL, isdaily = true)

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your package evaluation job has completed - possible new issues were detected. A full report can be found here. cc @maleadt

Please sign in to comment.