Guest User

Untitled

a guest
May 20th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. %dag = type { { { i8, { i8 } }, { { i8, { i8 } }, { i8 } } }, { { i8, { i8 } }, { i8 } } }
  2.  
  3. define void @test_const(%dag* %dst) {
  4. entry:
  5. %updated = insertvalue
  6. ; Check that we're visiting constants with shared parts
  7. ; (deduplicated via LLVMContext, forming a proper DAG) correctly:
  8. %dag {
  9. { { i8, { i8 } }, { { i8, { i8 } }, { i8 } } } {
  10. { i8, { i8 } } {
  11. i8 10,
  12. { i8 } { i8 20 }
  13. },
  14. { { i8, { i8 } }, { i8 } } {
  15. { i8, { i8 } } {
  16. i8 10,
  17. { i8 } { i8 20 }
  18. },
  19. { i8 } { i8 20 }
  20. }
  21. },
  22. { { i8, { i8 } }, { i8 } } {
  23. { i8, { i8 } } {
  24. i8 10,
  25. { i8 } { i8 20 }
  26. },
  27. { i8 } { i8 20 }
  28. }
  29. },
  30. { { i8, { i8 } }, { i8 } } {
  31. { i8, { i8 } } {
  32. i8 10,
  33. { i8 } { i8 20 }
  34. },
  35. { i8 } { i8 50 }
  36. },
  37. 0,
  38. 1
  39. store %dag %updated, %dag* %dst
  40. ; 10, 20, 10, 20, 50, 10, 20, 20 sequence is expected
  41.  
  42. store
  43. ; Check that we didn't overwrite a previously seen constant
  44. ; while processing an insertvalue into it:
  45. %dag {
  46. { { i8, { i8 } }, { { i8, { i8 } }, { i8 } } } {
  47. { i8, { i8 } } {
  48. i8 10,
  49. { i8 } { i8 20 }
  50. },
  51. { { i8, { i8 } }, { i8 } } {
  52. { i8, { i8 } } {
  53. i8 10,
  54. { i8 } { i8 20 }
  55. },
  56. { i8 } { i8 20 }
  57. }
  58. },
  59. { { i8, { i8 } }, { i8 } } {
  60. { i8, { i8 } } {
  61. i8 10,
  62. { i8 } { i8 20 }
  63. },
  64. { i8 } { i8 20 }
  65. }
  66. },
  67. %dag* %dst
  68. ; 10, 20, 10, 20, 20, 10, 20, 20 sequence is expected
  69. ret void
  70. }
Add Comment
Please, Sign In to add comment