ramosian-glider / sanitizer-issues

test
0 stars 0 forks source link

quadratic compile time due to llvm::SpillPlacement::addLinks #68

Closed ramosian-glider closed 9 years ago

ramosian-glider commented 9 years ago

Originally reported on Google Code with ID 68

large protobufs (http://code.google.com/p/protobuf/) cause very slow compile time 
with clang -O2 -faddress-sanitizer. 

Repro: 
#!/bin/bash                                                                       

cat <<EOF
message Person {
  required string name = 1;
  required int32 id = 2;        // Unique ID number for this person.
  optional string email = 3;
EOF

for((i=4;i<$1; i++)); do
  echo "  optional string s$i = $i;"
done

cat << EOF
}
EOF

for size in 250 500 1000; do ./zzz.sh $size > zzz.proto ; ./src/protoc --cpp_out=z
zzz.proto ; clang -E -O2 z/*.cc -Iz -Isrc -o $size.cc; time clang -c -O2 $size.cc -faddress-sanitizer;
 done 
TIME: real: 16.805; user: 16.630; system: 0.130
TIME: real: 65.340; user: 64.760; system: 0.400
TIME: real: 294.377; user: 292.620; system: 1.020

Profile: 
    41.17% llvm::SpillPlacement::addLinks(llvm::ArrayRef<unsigned int>)
     3.49% llvm::LiveInterval::extendIntervalEndTo(llvm::LiveRange*, llvm::SlotIndex)

Reported by konstantin.s.serebryany on 2012-04-25 13:53:02


ramosian-glider commented 9 years ago

Reported by konstantin.s.serebryany on 2012-04-25 13:56:05

ramosian-glider commented 9 years ago
Adding Project:AddressSanitizer as part of GitHub migration.

Reported by ramosian.glider on 2015-07-30 09:12:59