brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.5 KiB · 831fd6c Raw
122 lines · plain
1# static volatile int do_mul;2# static volatile int x, v;3#4# int foo () {5#   if (do_mul) x *= v; else x /= v;6#   return x;7# }8#9# int main() {10#   return foo() + foo();11# }12# Build as : clang -gmlt -fdebug-info-for-profiling -O2 discrim.c -o discrim13 14RUN: llvm-symbolizer --verbose --print-address --obj=%p/Inputs/discrim < %p/Inputs/discrim.inp | FileCheck %s15 16CHECK: ??17 18CHECK: 0x40059019CHECK-NEXT: foo20CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c21CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c22CHECK-NEXT: Function start line: 423CHECK-NEXT: Function start address: 0x40059024CHECK-NEXT: Line: 525CHECK-NEXT: Column: 726CHECK-NEXT: main27CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c28CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c29CHECK-NEXT: Function start line: 930CHECK-NEXT: Function start address: 0x40059031CHECK-NEXT: Line: 1032CHECK-NEXT: Column: 033 34CHECK: 0x4005a535CHECK-NEXT: foo36CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c37CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c38CHECK-NEXT: Function start line: 439CHECK-NEXT: Function start address: 0x40059040CHECK-NEXT: Line: 541CHECK-NEXT: Column: 1742CHECK-NEXT: Discriminator: 243CHECK-NEXT: main44CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c45CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c46CHECK-NEXT: Function start line: 947CHECK-NEXT: Function start address: 0x40059048CHECK-NEXT: Line: 1049CHECK-NEXT: Column: 050 51CHECK: 0x4005ad52CHECK-NEXT: foo53CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c54CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c55CHECK-NEXT: Function start line: 456CHECK-NEXT: Function start address: 0x40059057CHECK-NEXT: Line: 058CHECK-NEXT: Column: 3059CHECK-NEXT: Discriminator: 460CHECK-NEXT: main61CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c62CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c63CHECK-NEXT: Function start line: 964CHECK-NEXT: Function start address: 0x40059065CHECK-NEXT: Line: 1066CHECK-NEXT: Column: 067 68CHECK: 0x4005b969CHECK-NEXT: foo70CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c71CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c72CHECK-NEXT: Function start line: 473CHECK-NEXT: Function start address: 0x4005b974CHECK-NEXT: Line: 575CHECK-NEXT: Column: 776CHECK-NEXT: main77CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c78CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c79CHECK-NEXT: Function start line: 980CHECK-NEXT: Function start address: 0x40059081CHECK-NEXT: Line: 1082CHECK-NEXT: Column: 083CHECK-NEXT: Discriminator: 284 85CHECK: 0x4005ce86CHECK-NEXT: foo87CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c88CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c89CHECK-NEXT: Function start line: 490CHECK-NEXT: Function start address: 0x4005b991CHECK-NEXT: Line: 592CHECK-NEXT: Column: 1793CHECK-NEXT: Discriminator: 294CHECK-NEXT: main95CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c96CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c97CHECK-NEXT: Function start line: 998CHECK-NEXT: Function start address: 0x40059099CHECK-NEXT: Line: 10100CHECK-NEXT: Column: 0101CHECK-NEXT: Discriminator: 2102 103CHECK: 0x4005d4104CHECK-NEXT: foo105CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c106CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c107CHECK-NEXT: Function start line: 4108CHECK-NEXT: Function start address: 0x4005b9109CHECK-NEXT: Line: 5110CHECK-NEXT: Column: 30111CHECK-NEXT: Discriminator: 4112CHECK-NEXT: main113CHECK-NEXT: Filename: /tmp{{[\\/]}}discrim.c114CHECK-NEXT: Function start filename: /tmp{{[\\/]}}discrim.c115CHECK-NEXT: Function start line: 9116CHECK-NEXT: Function start address: 0x400590117CHECK-NEXT: Line: 10118CHECK-NEXT: Column: 0119CHECK-NEXT: Discriminator: 2120 121CHECK: ??122