[PATCH] D25341: [RS4GC] Strengthen coverage: add more tests

Anna Thomas via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 7 05:29:01 PDT 2016


anna added a comment.

In https://reviews.llvm.org/D25341#563897, @sanjoy wrote:

> Thanks Anna, this is great!
>
> Can you check if it makes sense to put `statepoint-attrs.ll` into some pre-existing file?  If not a separate file is fine.


Hi Sanjoy,

Yes, all other test files were for some specific test scenarios.

More importantly the `statepoint-attrs.ll` is a somewhat flaky test, and can have unintended consequences with multiple tests/function declarations in a file. The attributes list (`attribute #1`) can be modified to another  attribute list during opt, if we were to have more tests, or function declarations.  Example:
After opt:

  call token (i64, i32, void (i8 addrspace(1)*)*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidp1i8f(i64 2882400000, i32 0, void (i8 addrspace(1)*)* @f, i32 1, i32 0, i8 addrspace(1)* %arg, i32 0, i32 0, i8 addrspace(1)* %arg) #2
  
  attributes #1 = {.. some new attributes added to some func declaration..}
  attributes #2 = { norecurse noimplicitfloat }
  ...
  
  The CHECK would fail (since `CHECK` is for the specific `attribute #1`). I'm not sure if there is any way to get around this, i.e. force attribute list to remain the same.


https://reviews.llvm.org/D25341





More information about the llvm-commits mailing list