[llvm] [GlobalISel] Make IRTranslator able to handle PHIs with empty types. (PR #73235)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 23 04:18:06 PST 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-globalisel
Author: Dávid Ferenc Szabó (dfszabo)
<details>
<summary>Changes</summary>
SelectionDAG already handle this since e53b7d1a11d180ed7b33190a837d8898ab2a0b71.
---
Full diff: https://github.com/llvm/llvm-project/pull/73235.diff
2 Files Affected:
- (modified) llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (+2)
- (modified) llvm/test/CodeGen/Generic/zero-sized-array.ll (+1)
``````````diff
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
index 62450e4c43ff3e6..ac6fa144fa46bcf 100644
--- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -3118,6 +3118,8 @@ void IRTranslator::finishPendingPhis() {
#endif // ifndef NDEBUG
for (auto &Phi : PendingPHIs) {
const PHINode *PI = Phi.first;
+ if (PI->getType()->isEmptyTy())
+ continue;
ArrayRef<MachineInstr *> ComponentPHIs = Phi.second;
MachineBasicBlock *PhiMBB = ComponentPHIs[0]->getParent();
EntryBuilder->setDebugLoc(PI->getDebugLoc());
diff --git a/llvm/test/CodeGen/Generic/zero-sized-array.ll b/llvm/test/CodeGen/Generic/zero-sized-array.ll
index 05fa5686106df92..75d65173a08091b 100644
--- a/llvm/test/CodeGen/Generic/zero-sized-array.ll
+++ b/llvm/test/CodeGen/Generic/zero-sized-array.ll
@@ -1,4 +1,5 @@
; RUN: llc < %s
+; RUN: llc -O0 -mtriple=aarch64 -global-isel < %s
; PR9900
; NVPTX does not support zero sized type arg
``````````
</details>
https://github.com/llvm/llvm-project/pull/73235
More information about the llvm-commits
mailing list