[llvm] r340171 - AMDGPU: bump AS.MAX_COMMON_ADDRESS to 6 since 32-bit addr space

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 20 11:22:46 PDT 2018


This looks caused by the patch
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/6883/steps/check-llvm%20asan/logs/stdio

FAIL: LLVM :: CodeGen/AMDGPU/amdgpu-alias-analysis.ll (5325 of 27229)
******************** TEST 'LLVM ::
CodeGen/AMDGPU/amdgpu-alias-analysis.ll' FAILED ********************
Script:
--
: 'RUN: at line 1';
/b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/opt
-mtriple=amdgcn-- -O3 -aa-eval -print-all-alias-modref-info
-disable-output <
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
2>&1 | /b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/FileCheck
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
: 'RUN: at line 2';
/b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/opt
-mtriple=r600-- -O3 -aa-eval -print-all-alias-modref-info
-disable-output <
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
2>&1 | /b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/FileCheck
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
--
Exit Code: 1

Command Output (stderr):
--
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll:10:10:
error: CHECK: expected string not found in input
; CHECK: NoAlias: i8 addrspace(1)* %p1, i8 addrspace(6)* %p
         ^
<stdin>:3:1: note: scanning from here
Function: test_32bit_addr_space: 2 pointers, 0 call sites
^
<stdin>:3:5: note: possible intended match here
Function: test_32bit_addr_space: 2 pointers, 0 call sites
    ^

--

********************
Testing: 0 .. 10.. 20
FAIL: LLVM :: CodeGen/AMDGPU/widen-smrd-loads.ll (6391 of 27229)
******************** TEST 'LLVM :: CodeGen/AMDGPU/widen-smrd-loads.ll'
FAILED ********************
Script:
--
: 'RUN: at line 1';
/b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/llc
-amdgpu-codegenprepare-widen-constant-loads=0 -march=amdgcn
-mcpu=tahiti -verify-machineinstrs <
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
| /b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/FileCheck
-enable-var-scope -check-prefixes=GCN,SI
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
: 'RUN: at line 2';
/b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/llc
-amdgpu-codegenprepare-widen-constant-loads=0 -march=amdgcn
-mcpu=tonga -verify-machineinstrs <
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
| /b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/FileCheck
-enable-var-scope -check-prefixes=GCN,VI
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
--
Exit Code: 1

Command Output (stderr):
--
=================================================================
==22327==ERROR: AddressSanitizer: global-buffer-overflow on address
0x000007134b68 at pc 0x0000012c05c8 bp 0x7fff2e2b6b40 sp
0x7fff2e2b6b38
READ of size 1 at 0x000007134b68 thread T0
    #0 0x12c05c7 in getAliasResult
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp:99:10
    #1 0x12c05c7 in llvm::AMDGPUAAResult::alias(llvm::MemoryLocation
const&, llvm::MemoryLocation const&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp:107
    #2 0x3367dc1 in llvm::AAResults::alias(llvm::MemoryLocation
const&, llvm::MemoryLocation const&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/AliasAnalysis.cpp:105:23
    #3 0x3396a90 in alias
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/Analysis/AliasAnalysis.h:896:25
    #4 0x3396a90 in llvm::BasicAAResult::aliasCheck(llvm::Value
const*, unsigned long, llvm::AAMDNodes, llvm::Value const*, unsigned
long, llvm::AAMDNodes, llvm::Value const*, llvm::Value const*)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/BasicAliasAnalysis.cpp:1779
    #5 0x33951de in llvm::BasicAAResult::alias(llvm::MemoryLocation
const&, llvm::MemoryLocation const&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/BasicAliasAnalysis.cpp:780:23
    #6 0x3367dc1 in llvm::AAResults::alias(llvm::MemoryLocation
const&, llvm::MemoryLocation const&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/AliasAnalysis.cpp:105:23
    #7 0x35d070c in
llvm::MemoryDependenceResults::getSimplePointerDependencyFrom(llvm::MemoryLocation
const&, bool, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction,
true, false, void>, false, false>, llvm::BasicBlock*,
llvm::Instruction*, unsigned int*)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp:577:26
    #8 0x35cfb45 in
llvm::MemoryDependenceResults::getSimplePointerDependencyFrom(llvm::MemoryLocation
const&, bool, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction,
true, false, void>, false, false>, llvm::BasicBlock*,
llvm::Instruction*, unsigned int*)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp:448:12
    #9 0x35ce759 in
llvm::MemoryDependenceResults::getPointerDependencyFrom(llvm::MemoryLocation
const&, bool, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction,
true, false, void>, false, false>, llvm::BasicBlock*,
llvm::Instruction*, unsigned int*)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp:341:28
    #10 0x12c95d4 in isClobberedInFunction
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp:112:19
    #11 0x12c95d4 in visitLoadInst
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp:142
    #12 0x12c95d4 in visitLoad
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/IR/Instruction.def:153
    #13 0x12c95d4 in visit
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/IR/Instruction.def:153
    #14 0x12c95d4 in
visit<llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction,
true, false, void>, false, false> >
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/IR/InstVisitor.h:92
    #15 0x12c95d4 in visit
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/IR/InstVisitor.h:107
   #16 0x12c95d4 in
visit<llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock,
true, false, void>, false, false> >
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/IR/InstVisitor.h:92
    #17 0x12c95d4 in visit
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/include/llvm/IR/InstVisitor.h:103
    #18 0x12c95d4 in (anonymous
namespace)::AMDGPUAnnotateUniformValues::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp:184
    #19 0x47fea6d in
llvm::FPPassManager::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/IR/LegacyPassManager.cpp:1586:27
    #20 0x3464f8c in RunPassOnSCC
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/CallGraphSCCPass.cpp:166:25
    #21 0x3464f8c in RunAllPassesOnSCC
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/CallGraphSCCPass.cpp:430
    #22 0x3464f8c in (anonymous
namespace)::CGPassManager::runOnModule(llvm::Module&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Analysis/CallGraphSCCPass.cpp:486
    #23 0x47ffe7e in runOnModule
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/IR/LegacyPassManager.cpp:1669:27
    #24 0x47ffe7e in llvm::legacy::PassManagerImpl::run(llvm::Module&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/IR/LegacyPassManager.cpp:1774
    #25 0xa074af in compileModule(char**, llvm::LLVMContext&)
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/llc/llc.cpp:597:8
    #26 0xa00ae0 in main
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/tools/llc/llc.cpp:351:22
    #27 0x7f33f66c22e0 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
    #28 0x8f4b99 in _start
(/b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/bin/llc+0x8f4b99)

0x000007134b68 is located 56 bytes to the left of global variable
'<string literal>' defined in
'/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp:74:5'
(0x7134ba0) of size 129
  '<string literal>' is ascii string 'AS.GLOBAL_ADDRESS == 1 &&
AS.REGION_ADDRESS == 2 && AS.LOCAL_ADDRESS == 3 && AS.CONSTANT_ADDRESS
== 4 && AS.PRIVATE_ADDRESS == 5'
0x000007134b68 is located 4 bytes to the right of global variable
'ASAliasRulesGenIsZero' defined in
'/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp:63:28'
(0x7134b40) of size 36
SUMMARY: AddressSanitizer: global-buffer-overflow
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp:99:10
in getAliasResult
Shadow bytes around the buggy address:
  0x000080e1e910: 00 00 00 00 00 00 00 00 00 07 f9 f9 f9 f9 f9 f9
  0x000080e1e920: 00 00 00 00 00 00 00 01 f9 f9 f9 f9 00 00 00 00
  0x000080e1e930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x000080e1e940: f9 f9 f9 f9 00 00 00 00 00 03 f9 f9 f9 f9 f9 f9
  0x000080e1e950: 00 00 00 00 00 00 04 f9 f9 f9 f9 f9 00 00 00 00
=>0x000080e1e960: 00 00 00 00 00 00 00 00 00 00 00 00 04[f9]f9 f9
  0x000080e1e970: f9 f9 f9 f9 00 00 00 00 00 00 00 00 00 00 00 00
  0x000080e1e980: 00 00 00 00 01 f9 f9 f9 f9 f9 f9 f9 00 00 00 00
  0x000080e1e990: 00 00 00 00 00 00 00 01 f9 f9 f9 f9 00 00 00 00
  0x000080e1e9a0: 00 00 00 00 00 00 01 f9 f9 f9 f9 f9 00 00 00 00
  0x000080e1e9b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==22327==ABORTING
/b/sanitizer-x86_64-linux-bootstrap/build/llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll:143:14:
error: GCN-LABEL: expected string not found in input
; GCN-LABEL: {{^}}widen_i16_constant32_load:
             ^
<stdin>:518:37: note: scanning from here
widen_i1_zext_to_i64_constant_load: ; @widen_i1_zext_to_i64_constant_load
                                    ^
<stdin>:518:48: note: possible intended match here
widen_i1_zext_to_i64_constant_load: ; @widen_i1_zext_to_i64_constant_load
                                               ^

--

********************
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Testing Time: 384.24s
********************
Failing Tests (2):
    LLVM :: CodeGen/AMDGPU/amdgpu-alias-analysis.ll
    LLVM :: CodeGen/AMDGPU/widen-smrd-loads.ll

  Expected Passes    : 26393
  Expected Failures  : 148
  Unsupported Tests  : 686
  Unexpected Failures: 2
FAILED: test/CMakeFiles/check-llvm
cd /b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/test &&
/usr/bin/python2.7
/b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/./bin/llvm-lit
-sv /b/sanitizer-x86_64-linux-bootstrap/build/llvm_build_asan/test
ninja: build stopped: subcommand failed.
+ echo @@@STEP_FAILURE@@@
+ echo @@@BUILD_STEP check-clang asan@@@
@@@STEP_FAILURE@@@


--------------------------------------------------------------------------------
started: Mon Aug 20 06:50:07 2018
ended: Mon Aug 20 07:15:07 2018
duration: 24 mins, 59 secs


On Mon, Aug 20, 2018 at 6:19 AM Samuel Pitoiset via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Author: hakzsam
> Date: Mon Aug 20 06:18:59 2018
> New Revision: 340171
>
> URL: http://llvm.org/viewvc/llvm-project?rev=340171&view=rev
> Log:
> AMDGPU: bump AS.MAX_COMMON_ADDRESS to 6 since 32-bit addr space
>
> 32-bit constant address space is declared as 6, so the
> maximum number of address spaces is 6, not 5.
>
> Fixes "LLVM ERROR: Pointer address space out of range".
>
> v3: use static_assert()
> v2: add a very simple test for 32-bit addr space
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106630
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>
> Modified:
>     llvm/trunk/lib/Target/AMDGPU/AMDGPU.h
>     llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
>     llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
>
> Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPU.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPU.h?rev=340171&r1=340170&r2=340171&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/AMDGPU/AMDGPU.h (original)
> +++ llvm/trunk/lib/Target/AMDGPU/AMDGPU.h Mon Aug 20 06:18:59 2018
> @@ -229,7 +229,7 @@ struct AMDGPUAS {
>
>    enum : unsigned {
>      // The maximum value for flat, generic, local, private, constant and
> region.
> -    MAX_COMMON_ADDRESS = 5,
> +    MAX_COMMON_ADDRESS = 6,
>
>      GLOBAL_ADDRESS = 1,   ///< Address space for global memory (RAT0,
> VTX0).
>      CONSTANT_ADDRESS = 4, ///< Address space for constant memory (VTX2)
>
> Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp?rev=340171&r1=340170&r2=340171&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp (original)
> +++ llvm/trunk/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp Mon Aug 20
> 06:18:59 2018
> @@ -69,7 +69,7 @@ AMDGPUAAResult::ASAliasRulesTy::ASAliasR
>    /* Region   */ {MayAlias, NoAlias , NoAlias , NoAlias,  MayAlias,
> NoAlias},
>    /* Private  */ {MayAlias, NoAlias , NoAlias , NoAlias , NoAlias ,
> MayAlias}
>    };
> -  assert(AS.MAX_COMMON_ADDRESS <= 5);
> +  static_assert(AS.MAX_COMMON_ADDRESS <= 6, "Addr space out of range");
>    if (AS.FLAT_ADDRESS == 0) {
>      assert(AS.GLOBAL_ADDRESS   == 1 &&
>             AS.REGION_ADDRESS   == 2 &&
>
> Modified: llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll?rev=340171&r1=340170&r2=340171&view=diff
>
> ==============================================================================
> --- llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll (original)
> +++ llvm/trunk/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll Mon Aug 20
> 06:18:59 2018
> @@ -7,3 +7,9 @@ define void @test(i8 addrspace(5)* %p, i
>    ret void
>  }
>
> +; CHECK: NoAlias:      i8 addrspace(1)* %p1, i8 addrspace(6)* %p
> +
> +define void @test_32bit_addr_space(i8 addrspace(6)* %p, i8 addrspace(1)*
> %p1) {
> +  ret void
> +}
> +
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180820/6751757e/attachment.html>


More information about the llvm-commits mailing list