sroa-fca.ll 449 B

123456789101112131415161718192021
  1. ; RUN: opt < %s -scalarrepl | llvm-dis
  2. ; Make sure that SROA "scalar conversion" can handle first class aggregates.
  3. define i64 @test({i32, i32} %A) {
  4. %X = alloca i64
  5. %Y = bitcast i64* %X to {i32,i32}*
  6. store {i32,i32} %A, {i32,i32}* %Y
  7. %Q = load i64, i64* %X
  8. ret i64 %Q
  9. }
  10. define {i32,i32} @test2(i64 %A) {
  11. %X = alloca i64
  12. %Y = bitcast i64* %X to {i32,i32}*
  13. store i64 %A, i64* %X
  14. %Q = load {i32,i32}, {i32,i32}* %Y
  15. ret {i32,i32} %Q
  16. }