Page MenuHomePhabricator

[DeadArgElim][FIX] Drop more attributes when the return type changes
AbandonedPublic

Authored by jdoerfert on Aug 18 2020, 10:46 AM.

Details

Summary

We should not have align or noundef on void return types.

Diff Detail

Unit TestsFailed

TimeTest
20 mslinux > LLVM.Bitcode::attributes-3.3.ll
Script: -- : 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/build/bin/llvm-dis < /mnt/disks/ssd0/agent/llvm-project/llvm/test/Bitcode/attributes-3.3.ll.bc| /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/Bitcode/attributes-3.3.ll
20 mslinux > LLVM.Bitcode::attributes.ll
Script: -- : 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/build/bin/llvm-as < /mnt/disks/ssd0/agent/llvm-project/llvm/test/Bitcode/attributes.ll | /mnt/disks/ssd0/agent/llvm-project/build/bin/llvm-dis | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/Bitcode/attributes.ll
40 mslinux > LLVM.Transforms/LoopSimplify::unreachable-loop-pred.ll
Script: -- : 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/build/bin/opt -S -loop-simplify -disable-output -verify-loop-info -verify-dom-info < /mnt/disks/ssd0/agent/llvm-project/llvm/test/Transforms/LoopSimplify/unreachable-loop-pred.ll
70 mslinux > LLVM.Verifier::byref.ll
Script: -- : 'RUN: at line 1'; not /mnt/disks/ssd0/agent/llvm-project/build/bin/llvm-as /mnt/disks/ssd0/agent/llvm-project/llvm/test/Verifier/byref.ll -o /dev/null 2>&1 | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/Verifier/byref.ll
80 mswindows > LLVM.Bitcode::attributes-3.3.ll
Script: -- : 'RUN: at line 1'; c:\ws\w16c2-1\llvm-project\premerge-checks\build\bin\llvm-dis.exe < C:\ws\w16c2-1\llvm-project\premerge-checks\llvm\test\Bitcode\attributes-3.3.ll.bc| c:\ws\w16c2-1\llvm-project\premerge-checks\build\bin\filecheck.exe C:\ws\w16c2-1\llvm-project\premerge-checks\llvm\test\Bitcode\attributes-3.3.ll
View Full Test Results (8 Failed)

Event Timeline

jdoerfert created this revision.Aug 18 2020, 10:46 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 18 2020, 10:46 AM
jdoerfert requested review of this revision.Aug 18 2020, 10:46 AM

It seems align is allowed on non-pointers, will investigate.

fhahn added a comment.Sep 6 2020, 7:46 AM

This looks fine, but might be better to split up into 2 patches (1 for undef, 1 for align)? Small nit for the title: this patch fixes AttributeFuncs::typeIncompatible, which as a consequence fixes DeadArgElim, but potentially other places too. Might be good to reflect that in the title.

This looks fine, but might be better to split up into 2 patches (1 for undef, 1 for align)? Small nit for the title: this patch fixes AttributeFuncs::typeIncompatible, which as a consequence fixes DeadArgElim, but potentially other places too. Might be good to reflect that in the title.

I will revisit this soon. split it and fix the tests.

jdoerfert abandoned this revision.Sep 8 2020, 11:27 AM

Split into D87304 and D87306