Page MenuHomePhabricator

[MachineSink] Use the real post dominator tree
ClosedPublic

Authored by jingyue on Aug 6 2014, 12:08 PM.

Details

Summary

Fixes a FIXME in MachineSinking. Instead of using the simple heuristics
in isPostDominatedBy, use the real MachinePostDominatorTree. The old
heuristics caused instructions to sink unnecessarily, and might create
register pressure.

Diff Detail

Event Timeline

jingyue updated this revision to Diff 12246.Aug 6 2014, 12:08 PM
jingyue retitled this revision from to [MachineSink] Use the real post dominator tree.
jingyue updated this object.
jingyue edited the test plan for this revision. (Show Details)
jingyue added reviewers: eliben, meheff.
jingyue added a subscriber: Unknown Object (MLST).

Hi Jiangning,

I saw you actively working on AArch64 and backend in general. Maybe you can take a look at this, or point me to the right person for review.

Thanks,
Jingyue

Jiangning edited edge metadata.Aug 6 2014, 11:35 PM

Hi Jingyue,

The code change itself looks quite straightforward and sensible to me!

I will help to measure the performance impact of your patch later on.

Thanks,
-Jiangning

Hi Jingyue,

I tried spec2000/int for cortex-a57, and got the following numbers, (negative is better),

164.gzip -0.39%
175.vpr 0.91%
176.gcc 0.83%
181.mcf 0.78%
186.crafty 0.00%
197.parser 0.32%
252.eon -0.73%
253.perlbmk 0.00%
254.gap 1.75%
255.vortex -1.04%
256.bzip2 0.46%
300.twolf 1.12%

I think the result it's OK. All seem to be noises.

Thanks,
-Jiangning

Jiangning, thanks a lot for running the experiments! I should do that later as well. With that, do you think this patch is good to go?

Just a clarification question: are these numbers compilation times or runtime performance numbers?

Hi Jingyue,

My data is for performance only.

I think you can use llvm-test-suite to verify compile time CC_Time and CC_Real_Time. I just did this recently for my LVI patch.

Thanks,
-Jiangning

Hi Jiangning and Owen,

I measured the CC_Time for all applications in llvm-test-suite (see the
results at the end). The first line is the name of the application, and the
second line contains the slowdown (negative means better) after my change
is applied, and the absolute CC_time of the original compiler.

The timing is not quite stable for applications that take <1 second to
compile. However, for applications that take longer to compile (e.g.,
7zip-benchmark), the CC_time is roughly the same as before.

The geomean of CC_time slowdown across all applications is 0.9825 (which
means ~2% faster). But given the unstableness of short-running
applications, I'd say it probably just means parity instead of real
improvement.

In general, I don't see a significant regression in compilation time with
this patch.

Jingyue

MultiSource/Applications/ALAC/decode/alacconvert-decode

0.6620%        1.2085

MultiSource/Applications/ALAC/encode/alacconvert-encode

-0.8311%        1.2152

MultiSource/Applications/Burg/burg

-2.0242%        1.6797

MultiSource/Applications/ClamAV/clamscan

0.3322%        14.0900

MultiSource/Applications/JM/ldecod/ldecod

1.2913%        6.1877

MultiSource/Applications/JM/lencod/lencod

-0.8998%        13.5259

MultiSource/Applications/SIBsim4/SIBsim4

-2.0553%        1.2845

MultiSource/Applications/SPASS/SPASS

1.9286%        12.9314

MultiSource/Applications/aha/aha

-3.3263%        0.1413

MultiSource/Applications/d/make_dparser

-0.2314%        2.8527

MultiSource/Applications/hbd/hbd

-1.3046%        1.8627

MultiSource/Applications/hexxagon/hexxagon

-1.9634%        0.9932

MultiSource/Applications/kimwitu++/kc

2.6947%        11.3480

MultiSource/Applications/lambda-0.1.3/lambda

-4.0196%        0.6742

MultiSource/Applications/lemon/lemon

10.7558%        0.8693

MultiSource/Applications/lua/lua

-0.4359%        4.0836

MultiSource/Applications/minisat/minisat

0.5924%        0.6246

MultiSource/Applications/obsequi/Obsequi

1.2604%        1.2853

MultiSource/Applications/oggenc/oggenc

8.6571%        3.1373

MultiSource/Applications/sgefa/sgefa

-6.8249%        0.5099

MultiSource/Applications/siod/siod

-1.3471%        1.9227

MultiSource/Applications/spiff/spiff

-4.9501%        1.1919

MultiSource/Applications/sqlite3/sqlite3

4.0138%        11.8989

MultiSource/Applications/treecc/treecc

0.1516%        2.2433

MultiSource/Applications/viterbi/viterbi

2.2571%        0.2614

MultiSource/Benchmarks/7zip/7zip-benchmark

-0.5024%        40.2075

MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000

-0.5554%        7.3818

MultiSource/Benchmarks/ASC_Sequoia/AMGmk/AMGmk

0.8925%        0.7619

MultiSource/Benchmarks/ASC_Sequoia/CrystalMk/CrystalMk

-5.4254%        0.3926

MultiSource/Benchmarks/ASC_Sequoia/IRSmk/IRSmk

-2.0022%        0.1848

MultiSource/Benchmarks/BitBench/drop3/drop3

-20.1379%        0.0725

MultiSource/Benchmarks/BitBench/five11/five11

1.0101%        0.0792

MultiSource/Benchmarks/BitBench/uudecode/uudecode

-7.4671%        0.0683

MultiSource/Benchmarks/BitBench/uuencode/uuencode

4.3609%        0.0665

MultiSource/Benchmarks/Bullet/bullet

-0.2186%        28.2692

MultiSource/Benchmarks/Fhourstones-3.1/fhourstones3.1

-2.5487%        0.1334

MultiSource/Benchmarks/Fhourstones/fhourstones

-3.3218%        0.2318

MultiSource/Benchmarks/FreeBench/analyzer/analyzer

-4.4756%        0.3709

MultiSource/Benchmarks/FreeBench/distray/distray

-3.0303%        0.1254

MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow

1.4822%        0.2024

MultiSource/Benchmarks/FreeBench/mason/mason

-1.1378%        0.0791

MultiSource/Benchmarks/FreeBench/neural/neural

-28.4747%        0.2511

MultiSource/Benchmarks/FreeBench/pcompress2/pcompress2

-6.5595%        0.3796

MultiSource/Benchmarks/FreeBench/pifft/pifft

1.1608%        0.9132

MultiSource/Benchmarks/MallocBench/cfrac/cfrac

-4.5783%        1.4962

MultiSource/Benchmarks/MallocBench/espresso/espresso

-0.9815%        5.7258

MultiSource/Benchmarks/MallocBench/gs/gs

-2.1733%        5.4618

MultiSource/Benchmarks/McCat/01-qbsort/qbsort

-8.2553%        0.1708

MultiSource/Benchmarks/McCat/03-testtrie/testtrie

12.8609%        0.1524

MultiSource/Benchmarks/McCat/04-bisect/bisect

-4.7285%        0.2136

MultiSource/Benchmarks/McCat/05-eks/eks

-2.2222%        0.7020

MultiSource/Benchmarks/McCat/08-main/main

-2.9863%        0.3516

MultiSource/Benchmarks/McCat/09-vor/vor

-0.8770%        0.4447

MultiSource/Benchmarks/McCat/12-IOtest/iotest

4.3213%        0.1805

MultiSource/Benchmarks/McCat/15-trie/trie

6.4935%        0.0770

MultiSource/Benchmarks/McCat/17-bintr/bintr

-6.4543%        0.1193

MultiSource/Benchmarks/McCat/18-imp/imp

-4.6539%        0.4319

MultiSource/Benchmarks/MiBench/automotive-basicmath/automotive-basicmath

-4.8374%        0.2522

MultiSource/Benchmarks/MiBench/automotive-bitcount/automotive-bitcount

1.0012%        0.4894

MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan

0.5337%        0.6183

MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg

-1.3854%        5.6805

MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame

-0.5075%        4.4729

MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset

-0.5005%        11.1695

MultiSource/Benchmarks/MiBench/network-dijkstra/network-dijkstra

-12.4476%        0.0715

MultiSource/Benchmarks/MiBench/network-patricia/network-patricia

6.0174%        0.1263

MultiSource/Benchmarks/MiBench/office-ispell/office-ispell

-0.2698%        1.7418

MultiSource/Benchmarks/MiBench/office-stringsearch/office-stringsearch

-3.7461%        0.2536

MultiSource/Benchmarks/MiBench/security-blowfish/security-blowfish

-5.3802%        0.4182

MultiSource/Benchmarks/MiBench/security-rijndael/security-rijndael

-1.7516%        0.4967

MultiSource/Benchmarks/MiBench/security-sha/security-sha

2.0984%        0.1382

MultiSource/Benchmarks/MiBench/telecomm-CRC32/telecomm-CRC32

-13.1902%        0.0652

MultiSource/Benchmarks/MiBench/telecomm-FFT/telecomm-fft

2.3671%        0.2070

MultiSource/Benchmarks/MiBench/telecomm-adpcm/telecomm-adpcm

7.9793%        0.0965

MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm

-1.4768%        1.5981

MultiSource/Benchmarks/NPB-serial/is/is

3.1100%        0.0836

MultiSource/Benchmarks/Olden/bh/bh

-1.4403%        0.3541

MultiSource/Benchmarks/Olden/bisort/bisort

-10.3128%        0.1183

MultiSource/Benchmarks/Olden/em3d/em3d

2.1883%        0.2879

MultiSource/Benchmarks/Olden/health/health

-0.7179%        0.2368

MultiSource/Benchmarks/Olden/mst/mst

-7.9195%        0.2235

MultiSource/Benchmarks/Olden/perimeter/perimeter

-1.6620%        0.1444

MultiSource/Benchmarks/Olden/power/power

2.9753%        0.1983

MultiSource/Benchmarks/Olden/treeadd/treeadd

8.5981%        0.1070

MultiSource/Benchmarks/Olden/tsp/tsp

4.1952%        0.2193

MultiSource/Benchmarks/Olden/voronoi/voronoi

3.9962%        0.3128

MultiSource/Benchmarks/PAQ8p/paq8p

-4.7844%        1.5843

MultiSource/Benchmarks/Prolangs-C++/NP/np

-0.9029%        0.0443

MultiSource/Benchmarks/Prolangs-C++/city/city

-1.2080%        1.5066

MultiSource/Benchmarks/Prolangs-C++/deriv1/deriv1

2.8470%        0.2248

MultiSource/Benchmarks/Prolangs-C++/deriv2/deriv2

1.2510%        0.2558

MultiSource/Benchmarks/Prolangs-C++/employ/employ

-0.5156%        0.2909

MultiSource/Benchmarks/Prolangs-C++/family/family

-8.2459%        0.0667

MultiSource/Benchmarks/Prolangs-C++/fsm/fsm

-2.3292%        0.0644

MultiSource/Benchmarks/Prolangs-C++/garage/garage

-0.1292%        0.0774

MultiSource/Benchmarks/Prolangs-C++/life/life

1.3408%        0.0895

MultiSource/Benchmarks/Prolangs-C++/objects/objects

-2.2705%        0.1013

MultiSource/Benchmarks/Prolangs-C++/ocean/ocean

-0.8895%        0.1349

MultiSource/Benchmarks/Prolangs-C++/office/office

-4.3218%        0.2175

MultiSource/Benchmarks/Prolangs-C++/primes/primes

-9.4949%        0.0495

MultiSource/Benchmarks/Prolangs-C++/shapes/shapes

1.1157%        0.2689

MultiSource/Benchmarks/Prolangs-C++/simul/simul

9.7074%        0.0752

MultiSource/Benchmarks/Prolangs-C++/trees/trees

-5.2029%        0.0961

MultiSource/Benchmarks/Prolangs-C++/vcirc/vcirc

-2.8302%        0.0530

MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc

-1.5207%        10.9884

MultiSource/Benchmarks/Prolangs-C/agrep/agrep

-2.4863%        1.5163

MultiSource/Benchmarks/Prolangs-C/allroots/allroots

-6.0264%        0.1593

MultiSource/Benchmarks/Prolangs-C/archie-client/archie

-2.9350%        0.9574

MultiSource/Benchmarks/Prolangs-C/assembler/assembler

-1.5710%        0.8848

MultiSource/Benchmarks/Prolangs-C/bison/mybison

-6.5930%        1.9445

MultiSource/Benchmarks/Prolangs-C/cdecl/cdecl

-1.1713%        0.3415

MultiSource/Benchmarks/Prolangs-C/compiler/compiler

-0.1878%        0.5324

MultiSource/Benchmarks/Prolangs-C/fixoutput/fixoutput

0.9982%        0.1102

MultiSource/Benchmarks/Prolangs-C/football/football

-1.9346%        0.7702

MultiSource/Benchmarks/Prolangs-C/gnugo/gnugo

-3.8533%        1.2379

MultiSource/Benchmarks/Prolangs-C/loader/loader

-3.4824%        0.5054

MultiSource/Benchmarks/Prolangs-C/plot2fig/plot2fig

-4.2088%        1.0478

MultiSource/Benchmarks/Prolangs-C/simulator/simulator

-1.1643%        1.0478

MultiSource/Benchmarks/Prolangs-C/unix-smail/unix-smail

-4.1518%        0.8406

MultiSource/Benchmarks/Prolangs-C/unix-tbl/unix-tbl

-1.8456%        1.4467

MultiSource/Benchmarks/Ptrdist/anagram/anagram

11.2284%        0.1042

MultiSource/Benchmarks/Ptrdist/bc/bc

0.5738%        1.2896

MultiSource/Benchmarks/Ptrdist/ft/ft

-9.3870%        0.3377

MultiSource/Benchmarks/Ptrdist/ks/ks

-0.7924%        0.1893

MultiSource/Benchmarks/Ptrdist/yacr2/yacr2

1.3011%        0.6994

MultiSource/Benchmarks/SciMark2-C/scimark2

-4.1027%        0.6191

MultiSource/Benchmarks/TSVC/ControlFlow-dbl/ControlFlow-dbl

5.3650%        1.2563

MultiSource/Benchmarks/TSVC/ControlFlow-flt/ControlFlow-flt

16.5980%        1.2134

MultiSource/Benchmarks/TSVC/ControlLoops-dbl/ControlLoops-dbl

-2.3300%        1.2618

MultiSource/Benchmarks/TSVC/ControlLoops-flt/ControlLoops-flt

2.0587%        1.2338

MultiSource/Benchmarks/TSVC/CrossingThresholds-dbl/CrossingThresholds-dbl

-2.3312%        1.2483

MultiSource/Benchmarks/TSVC/CrossingThresholds-flt/CrossingThresholds-flt

7.0103%        1.1155

MultiSource/Benchmarks/TSVC/Equivalencing-dbl/Equivalencing-dbl

-11.3610%        1.2719

MultiSource/Benchmarks/TSVC/Equivalencing-flt/Equivalencing-flt

12.9015%        1.1332

MultiSource/Benchmarks/TSVC/Expansion-dbl/Expansion-dbl

10.8477%        1.1053

MultiSource/Benchmarks/TSVC/Expansion-flt/Expansion-flt

1.0403%        1.2496

MultiSource/Benchmarks/TSVC/GlobalDataFlow-dbl/GlobalDataFlow-dbl

5.3418%        1.2449

MultiSource/Benchmarks/TSVC/GlobalDataFlow-flt/GlobalDataFlow-flt

4.4470%        1.2188

MultiSource/Benchmarks/TSVC/IndirectAddressing-dbl/IndirectAddressing-dbl

7.3145%        1.1443

MultiSource/Benchmarks/TSVC/IndirectAddressing-flt/IndirectAddressing-flt

18.5192%        1.0805

MultiSource/Benchmarks/TSVC/InductionVariable-dbl/InductionVariable-dbl

-14.0255%        1.1693

MultiSource/Benchmarks/TSVC/InductionVariable-flt/InductionVariable-flt

4.2940%        1.2599

MultiSource/Benchmarks/TSVC/LinearDependence-dbl/LinearDependence-dbl

12.2398%        1.1912

MultiSource/Benchmarks/TSVC/LinearDependence-flt/LinearDependence-flt

14.9716%        1.1809

MultiSource/Benchmarks/TSVC/LoopRerolling-dbl/LoopRerolling-dbl

-3.1203%        1.2531

MultiSource/Benchmarks/TSVC/LoopRerolling-flt/LoopRerolling-flt

1.7193%        1.2505

MultiSource/Benchmarks/TSVC/LoopRestructuring-dbl/LoopRestructuring-dbl

3.3518%        1.1904

MultiSource/Benchmarks/TSVC/LoopRestructuring-flt/LoopRestructuring-flt

17.4818%        1.0960

MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl

9.6001%        1.0927

MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt

0.9135%        1.2479

MultiSource/Benchmarks/TSVC/Packing-dbl/Packing-dbl

-4.8665%        1.2247

MultiSource/Benchmarks/TSVC/Packing-flt/Packing-flt

15.4545%        1.0780

MultiSource/Benchmarks/TSVC/Recurrences-dbl/Recurrences-dbl

10.2826%        1.1252

MultiSource/Benchmarks/TSVC/Recurrences-flt/Recurrences-flt

9.3191%        1.0956

MultiSource/Benchmarks/TSVC/Reductions-dbl/Reductions-dbl

11.2247%        1.1840

MultiSource/Benchmarks/TSVC/Reductions-flt/Reductions-flt

-13.4958%        1.3256

MultiSource/Benchmarks/TSVC/Searching-dbl/Searching-dbl

-8.9187%        1.2356

MultiSource/Benchmarks/TSVC/Searching-flt/Searching-flt

5.0593%        1.1721

MultiSource/Benchmarks/TSVC/StatementReordering-dbl/StatementReordering-dbl

-5.1540%        1.2146

MultiSource/Benchmarks/TSVC/StatementReordering-flt/StatementReordering-flt

7.7742%        1.1744

MultiSource/Benchmarks/TSVC/Symbolics-dbl/Symbolics-dbl

-9.5361%        1.2028

MultiSource/Benchmarks/TSVC/Symbolics-flt/Symbolics-flt

12.2185%        1.1458

MultiSource/Benchmarks/Trimaran/enc-3des/enc-3des

-1.0976%        0.2551

MultiSource/Benchmarks/Trimaran/enc-md5/enc-md5

-3.3930%        0.1621

MultiSource/Benchmarks/Trimaran/enc-pc1/enc-pc1

-3.3223%        0.0903

MultiSource/Benchmarks/Trimaran/enc-rc4/enc-rc4

0.4754%        0.0631

MultiSource/Benchmarks/Trimaran/netbench-crc/netbench-crc

4.2537%        0.1340

MultiSource/Benchmarks/Trimaran/netbench-url/netbench-url

1.8034%        0.2828

MultiSource/Benchmarks/VersaBench/8b10b/8b10b

-4.7090%        0.1529

MultiSource/Benchmarks/VersaBench/beamformer/beamformer

0.4762%        0.1470

MultiSource/Benchmarks/VersaBench/bmm/bmm

-6.3218%        0.1044

MultiSource/Benchmarks/VersaBench/dbms/dbms

0.9138%        1.9041

MultiSource/Benchmarks/VersaBench/ecbdes/ecbdes

-2.6248%        0.3086

MultiSource/Benchmarks/llubenchmark/llu

-6.4982%        0.0831

MultiSource/Benchmarks/mafft/pairlocalalign

-0.4217%        8.5846

MultiSource/Benchmarks/mediabench/adpcm/rawcaudio/rawcaudio

-8.3725%        0.1063

MultiSource/Benchmarks/mediabench/adpcm/rawdaudio/rawdaudio

9.3248%        0.0933

MultiSource/Benchmarks/mediabench/g721/g721encode/encode

-0.1193%        0.3354

MultiSource/Benchmarks/mediabench/gsm/toast/toast

-3.0290%        1.6177

MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg

-1.8806%        5.6845

MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec/mpeg2decode

-0.5020%        1.5539

MultiSource/Benchmarks/nbench/nbench

2.1258%        1.0114

MultiSource/Benchmarks/sim/sim

-3.6286%        0.2811

MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4

2.3999%        15.1839

SingleSource/Benchmarks/Adobe-C++/functionobjects

1.3158%        0.3800

SingleSource/Benchmarks/Adobe-C++/loop_unroll

-1.3014%        2.6356

SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding

-4.0832%        2.2115

SingleSource/Benchmarks/Adobe-C++/simple_types_loop_invariant

8.9317%        1.6447

SingleSource/Benchmarks/Adobe-C++/stepanov_abstraction

-0.9164%        0.5238

SingleSource/Benchmarks/Adobe-C++/stepanov_vector

0.0000%        0.7433

SingleSource/Benchmarks/BenchmarkGame/Large/fasta

-6.0820%        0.0707

SingleSource/Benchmarks/BenchmarkGame/fannkuch

-0.5102%        0.0784

SingleSource/Benchmarks/BenchmarkGame/n-body

-2.6196%        0.0878

SingleSource/Benchmarks/BenchmarkGame/nsieve-bits

-5.3448%        0.0580

SingleSource/Benchmarks/BenchmarkGame/partialsums

11.5174%        0.0547

SingleSource/Benchmarks/BenchmarkGame/puzzle

2.4691%        0.0729

SingleSource/Benchmarks/BenchmarkGame/recursive

2.5845%        0.0503

SingleSource/Benchmarks/BenchmarkGame/spectral-norm

1.1084%        0.0812

SingleSource/Benchmarks/CoyoteBench/almabench

7.3996%        0.0946

SingleSource/Benchmarks/CoyoteBench/fftbench

0.7819%        0.3709

SingleSource/Benchmarks/CoyoteBench/huffbench

-3.9965%        0.1151

SingleSource/Benchmarks/CoyoteBench/lpbench

-4.9255%        0.1746

SingleSource/Benchmarks/Dhrystone/dry

-7.4468%        0.0752

SingleSource/Benchmarks/Dhrystone/fldry

-8.1579%        0.0760

SingleSource/Benchmarks/Linpack/linpack-pc

3.1542%        0.2568

SingleSource/Benchmarks/McGill/chomp

3.4219%        0.2221

SingleSource/Benchmarks/McGill/exptree

-6.1940%        0.1227

SingleSource/Benchmarks/McGill/misr

5.5556%        0.0846

SingleSource/Benchmarks/McGill/queens

-2.4602%        0.0691

SingleSource/Benchmarks/Misc-C++-EH/spirit

-0.6575%        3.2852

SingleSource/Benchmarks/Misc-C++/Large/ray

-2.1576%        0.3059

SingleSource/Benchmarks/Misc-C++/Large/sphereflake

-9.0606%        0.3002

SingleSource/Benchmarks/Misc-C++/bigfib

-21.7057%        0.5464

SingleSource/Benchmarks/Misc-C++/mandel-text

-13.9959%        0.0493

SingleSource/Benchmarks/Misc-C++/oopack_v1p8

0.0000%        0.1312

SingleSource/Benchmarks/Misc-C++/stepanov_container

0.4430%        0.6998

SingleSource/Benchmarks/Misc-C++/stepanov_v1p2

-2.8586%        0.1994

SingleSource/Benchmarks/Misc/ReedSolomon

-0.8681%        0.1843

SingleSource/Benchmarks/Misc/dt

2.8391%        0.0634

SingleSource/Benchmarks/Misc/fbench

-8.6188%        0.0905

SingleSource/Benchmarks/Misc/ffbench

1.8559%        0.0916

SingleSource/Benchmarks/Misc/flops

-5.3407%        0.1086

SingleSource/Benchmarks/Misc/flops-1

0.1799%        0.0556

SingleSource/Benchmarks/Misc/flops-2

9.6386%        0.0498

SingleSource/Benchmarks/Misc/flops-3

0.1887%        0.0530

SingleSource/Benchmarks/Misc/flops-4

-7.8365%        0.0587

SingleSource/Benchmarks/Misc/flops-5

-7.9661%        0.0590

SingleSource/Benchmarks/Misc/flops-6

2.1818%        0.0550

SingleSource/Benchmarks/Misc/flops-7

8.2430%        0.0461

SingleSource/Benchmarks/Misc/flops-8

-15.0082%        0.0613

SingleSource/Benchmarks/Misc/fp-convert

-5.9369%        0.0539

SingleSource/Benchmarks/Misc/himenobmtxpa

-1.3627%        0.1908

SingleSource/Benchmarks/Misc/lowercase

-6.9767%        0.0516

SingleSource/Benchmarks/Misc/mandel

-10.4987%        0.0762

SingleSource/Benchmarks/Misc/mandel-2

5.6641%        0.0512

SingleSource/Benchmarks/Misc/matmul_f64_4x4

-5.0435%        0.0575

SingleSource/Benchmarks/Misc/oourafft

-12.8955%        0.2086

SingleSource/Benchmarks/Misc/perlin

-12.2166%        0.0794

SingleSource/Benchmarks/Misc/pi

-9.5745%        0.0470

SingleSource/Benchmarks/Misc/richards_benchmark

-5.3377%        0.0918

SingleSource/Benchmarks/Misc/salsa20

-9.1822%        0.0697

SingleSource/Benchmarks/Misc/whetstone

-1.6129%        0.1054

SingleSource/Benchmarks/Polybench/datamining/correlation/correlation

-4.1626%        0.1033

SingleSource/Benchmarks/Polybench/datamining/covariance/covariance

-0.7455%        0.0939

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/2mm/2mm

-1.2579%        0.0954

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/3mm/3mm

5.3384%        0.1049

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/atax/atax

0.0000%        0.0904

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/bicg/bicg

-0.4215%        0.0949

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/cholesky/cholesky

-5.4860%        0.1039

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/doitgen/doitgen

-0.2836%        0.1058

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemm/gemm

-0.1126%        0.0888

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gemver/gemver

-2.3969%        0.1043

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/gesummv

-0.6897%        0.0870

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/mvt/mvt

1.0011%        0.0899

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/symm/symm

-5.3039%        0.0905

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/syr2k/syr2k

0.0000%        0.0925

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/syrk/syrk

-0.3254%        0.0922

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/trisolv

-1.3793%        0.0870

SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trmm/trmm

-1.5873%        0.0882

SingleSource/Benchmarks/Polybench/linear-algebra/solvers/durbin/durbin

7.8109%        0.0973

SingleSource/Benchmarks/Polybench/linear-algebra/solvers/dynprog/dynprog

-10.3622%        0.0994

SingleSource/Benchmarks/Polybench/linear-algebra/solvers/gramschmidt/gramschmidt

-3.7975%        0.1027

SingleSource/Benchmarks/Polybench/linear-algebra/solvers/lu/lu

4.4324%        0.0925

SingleSource/Benchmarks/Polybench/medley/floyd-warshall/floyd-warshall

2.5610%        0.0820

SingleSource/Benchmarks/Polybench/medley/reg_detect/reg_detect

4.9486%        0.1556

SingleSource/Benchmarks/Polybench/stencils/adi/adi

1.2670%        0.1105

SingleSource/Benchmarks/Polybench/stencils/fdtd-2d/fdtd-2d

6.1017%        0.1180

SingleSource/Benchmarks/Polybench/stencils/fdtd-apml/fdtd-apml

0.2287%        0.1312

SingleSource/Benchmarks/Polybench/stencils/jacobi-1d-imper/jacobi-1d-imper

1.6873%        0.0889

SingleSource/Benchmarks/Polybench/stencils/jacobi-2d-imper/jacobi-2d-imper

0.3033%        0.0989

SingleSource/Benchmarks/Polybench/stencils/seidel-2d/seidel-2d

-5.6460%        0.0921

SingleSource/Benchmarks/Shootout-C++/EH/except

1.7874%        0.2126

SingleSource/Benchmarks/Shootout-C++/ackermann

0.0500%        0.2001

SingleSource/Benchmarks/Shootout-C++/ary

-5.9852%        0.2573

SingleSource/Benchmarks/Shootout-C++/ary2

-3.4733%        0.2476

SingleSource/Benchmarks/Shootout-C++/ary3

-1.8468%        0.2545

SingleSource/Benchmarks/Shootout-C++/fibo

3.1595%        0.1994

SingleSource/Benchmarks/Shootout-C++/hash

-4.1590%        0.3823

SingleSource/Benchmarks/Shootout-C++/hash2

1.0340%        0.3965

SingleSource/Benchmarks/Shootout-C++/heapsort

-2.0270%        0.2220

SingleSource/Benchmarks/Shootout-C++/hello

2.0310%        0.1871

SingleSource/Benchmarks/Shootout-C++/lists

1.1895%        0.2522

SingleSource/Benchmarks/Shootout-C++/lists1

0.3384%        0.2955

SingleSource/Benchmarks/Shootout-C++/matrix

-1.2679%        0.2445

SingleSource/Benchmarks/Shootout-C++/methcall

-2.4402%        0.2131

SingleSource/Benchmarks/Shootout-C++/moments

-2.3653%        0.3509

SingleSource/Benchmarks/Shootout-C++/nestedloop

-1.8655%        0.2037

SingleSource/Benchmarks/Shootout-C++/objinst

-0.7036%        0.2132

SingleSource/Benchmarks/Shootout-C++/random

-2.3600%        0.2161

SingleSource/Benchmarks/Shootout-C++/reversefile

-3.9610%        0.3282

SingleSource/Benchmarks/Shootout-C++/sieve

-3.3129%        0.2777

SingleSource/Benchmarks/Shootout-C++/spellcheck

3.7780%        0.3441

SingleSource/Benchmarks/Shootout-C++/strcat

0.7243%        0.2071

SingleSource/Benchmarks/Shootout-C++/sumcol

-3.6092%        0.2272

SingleSource/Benchmarks/Shootout-C++/wc

-1.9048%        0.2310

SingleSource/Benchmarks/Shootout-C++/wordfreq

-3.8384%        0.2970

SingleSource/Benchmarks/Shootout/ackermann

13.6564%        0.0454

SingleSource/Benchmarks/Shootout/ary3

-3.2967%        0.0637

SingleSource/Benchmarks/Shootout/fib2

-9.8174%        0.0438

SingleSource/Benchmarks/Shootout/hash

4.9315%        0.0730

SingleSource/Benchmarks/Shootout/heapsort

-2.5185%        0.0675

SingleSource/Benchmarks/Shootout/hello

-8.6207%        0.0406

SingleSource/Benchmarks/Shootout/lists

-1.2514%        0.0879

SingleSource/Benchmarks/Shootout/matrix

-4.9246%        0.0995

SingleSource/Benchmarks/Shootout/methcall

5.6995%        0.0579

SingleSource/Benchmarks/Shootout/nestedloop

2.2648%        0.0574

SingleSource/Benchmarks/Shootout/objinst

2.2152%        0.0632

SingleSource/Benchmarks/Shootout/random

-1.3093%        0.0611

SingleSource/Benchmarks/Shootout/sieve

0.7737%        0.0517

SingleSource/Benchmarks/Shootout/strcat

-8.2051%        0.0585

SingleSource/Benchmarks/SmallPT/smallpt

-2.2371%        0.1341

SingleSource/Benchmarks/Stanford/Bubblesort

-6.7947%        0.0677

SingleSource/Benchmarks/Stanford/FloatMM

-4.0057%        0.0699

SingleSource/Benchmarks/Stanford/IntMM

-5.5807%        0.0663

SingleSource/Benchmarks/Stanford/Oscar

4.3587%        0.0803

SingleSource/Benchmarks/Stanford/Perm

-0.9506%        0.0526

SingleSource/Benchmarks/Stanford/Puzzle

4.1166%        0.1166

SingleSource/Benchmarks/Stanford/Queens

-10.8470%        0.0673

SingleSource/Benchmarks/Stanford/Quicksort

-3.6395%        0.0577

SingleSource/Benchmarks/Stanford/RealMM

-2.2255%        0.0674

SingleSource/Benchmarks/Stanford/Towers

-5.3296%        0.0713

SingleSource/Benchmarks/Stanford/Treesort

2.4691%        0.0648

SingleSource/Regression/C++/2003-05-14-array-init

-2.6374%        0.0455

SingleSource/Regression/C++/2003-05-14-expr_stmt

-21.2121%        0.0363

SingleSource/Regression/C++/2003-06-08-BaseType

34.6278%        0.0309

SingleSource/Regression/C++/2003-06-08-VirtualFunctions

-6.4972%        0.0354

SingleSource/Regression/C++/2003-06-13-Crasher

21.0356%        0.0309

SingleSource/Regression/C++/2003-08-20-EnumSizeProblem

6.8182%        0.0308

SingleSource/Regression/C++/2003-09-29-NonPODsByValue

-8.8452%        0.0407

SingleSource/Regression/C++/2008-01-29-ParamAliasesReturn

4.4665%        0.0403

SingleSource/Regression/C++/2011-03-28-Bitfield

-0.8830%        0.0453

SingleSource/Regression/C++/BuiltinTypeInfo

-1.4528%        0.0413

SingleSource/Regression/C++/EH/ConditionalExpr

-3.1513%        0.0476

SingleSource/Regression/C++/EH/class_hierarchy

-11.1940%        0.0670

SingleSource/Regression/C++/EH/ctor_dtor_count

-8.2910%        0.0591

SingleSource/Regression/C++/EH/ctor_dtor_count-2

3.9823%        0.0452

SingleSource/Regression/C++/EH/dead_try_block

-15.9193%        0.0446

SingleSource/Regression/C++/EH/exception_spec_test

0.5618%        0.0534

SingleSource/Regression/C++/EH/function_try_block

-1.1605%        0.0517

SingleSource/Regression/C++/EH/inlined_cleanup

-10.0000%        0.0550

SingleSource/Regression/C++/EH/recursive-throw

-6.7941%        0.0471

SingleSource/Regression/C++/EH/simple_rethrow

15.4822%        0.0394

SingleSource/Regression/C++/EH/simple_throw

7.5630%        0.0357

SingleSource/Regression/C++/EH/throw_rethrow_test

1.5873%        0.0441

SingleSource/Regression/C++/fixups

3.2129%        0.0498

SingleSource/Regression/C++/global_ctor

-19.5021%        0.0482

SingleSource/Regression/C++/global_type

-16.6205%        0.0361

SingleSource/Regression/C++/ofstream_ctor

-0.3344%        0.2093

SingleSource/Regression/C++/pointer_member

0.4854%        0.0412

SingleSource/Regression/C++/pointer_method

-10.1449%        0.0414

SingleSource/Regression/C++/pointer_method2

-9.5528%        0.0492

SingleSource/Regression/C++/short_circuit_dtor

-16.9892%        0.0465

SingleSource/Regression/C/2003-05-14-initialize-string

21.4286%        0.0308

SingleSource/Regression/C/2003-05-21-BitfieldHandling

7.2829%        0.0357

SingleSource/Regression/C/2003-05-21-UnionBitfields

-2.3669%        0.0507

SingleSource/Regression/C/2003-05-21-UnionTest

-5.2381%        0.0420

SingleSource/Regression/C/2003-05-22-LocalTypeTest

-4.2184%        0.0403

SingleSource/Regression/C/2003-05-22-VarSizeArray

-6.7989%        0.0353

SingleSource/Regression/C/2003-05-23-TransparentUnion

-1.9704%        0.0406

SingleSource/Regression/C/2003-06-16-InvalidInitializer

-9.1205%        0.0307

SingleSource/Regression/C/2003-06-16-VolatileError

1.7595%        0.0341

SingleSource/Regression/C/2003-10-12-GlobalVarInitializers

-21.4447%        0.0443

SingleSource/Regression/C/2004-02-03-AggregateCopy

7.5843%        0.0356

SingleSource/Regression/C/2004-03-15-IndirectGoto

-16.5072%        0.0418

SingleSource/Regression/C/2004-08-12-InlinerAndAllocas

0.9685%        0.0413

SingleSource/Regression/C/2005-05-06-LongLongSignedShift

1.1730%        0.0341

SingleSource/Regression/C/2008-01-07-LongDouble

-17.0960%        0.0427

SingleSource/Regression/C/ConstructorDestructorAttributes

-6.5617%        0.0381

SingleSource/Regression/C/DuffsDevice

-3.2120%        0.0467

SingleSource/Regression/C/PR10189

-20.1887%        0.0530

SingleSource/Regression/C/PR1386

-9.5122%        0.0410

SingleSource/Regression/C/PR491

15.0485%        0.0412

SingleSource/Regression/C/PR640

-4.8474%        0.0557

SingleSource/Regression/C/badidx

-3.5917%        0.0529

SingleSource/Regression/C/bigstack

8.2474%        0.0582

SingleSource/Regression/C/callargs

14.1230%        0.0439

SingleSource/Regression/C/casts

-10.5000%        0.0600

SingleSource/Regression/C/compare

-5.6000%        0.0500

SingleSource/Regression/C/globalrefs

1.6092%        0.0435

SingleSource/Regression/C/matrixTranspose

-15.5512%        0.0508

SingleSource/Regression/C/pointer_arithmetic

-12.6316%        0.0380

SingleSource/Regression/C/sumarray

-11.9932%        0.0592

SingleSource/Regression/C/sumarray2d

-3.3237%        0.0692

SingleSource/Regression/C/sumarraymalloc

0.9967%        0.0602

SingleSource/Regression/C/test_indvars

2.3669%        0.0507

SingleSource/Regression/C/testtrace

-7.2562%        0.0441

SingleSource/Regression/C/uint64_to_float

3.5889%        0.0613

SingleSource/UnitTests/2002-04-17-PrintfChar

-5.0847%        0.0354

SingleSource/UnitTests/2002-05-02-ArgumentTest

1.7442%        0.0344

SingleSource/UnitTests/2002-05-02-CastTest

-5.9459%        0.0555

SingleSource/UnitTests/2002-05-02-CastTest1

7.5145%        0.0346

SingleSource/UnitTests/2002-05-02-CastTest2

4.4150%        0.0453

SingleSource/UnitTests/2002-05-02-CastTest3

0.3030%        0.0330

SingleSource/UnitTests/2002-05-02-ManyArguments

-1.6018%        0.0437

SingleSource/UnitTests/2002-05-03-NotTest

-3.9906%        0.0426

SingleSource/UnitTests/2002-05-19-DivTest

-0.4963%        0.0403

SingleSource/UnitTests/2002-08-02-CastTest

-9.7902%        0.0429

SingleSource/UnitTests/2002-08-02-CastTest2

-7.2508%        0.0331

SingleSource/UnitTests/2002-08-19-CodegenBug

13.4518%        0.0394

SingleSource/UnitTests/2002-10-09-ArrayResolution

-5.6235%        0.0409

SingleSource/UnitTests/2002-10-12-StructureArgs

-5.9497%        0.0437

SingleSource/UnitTests/2002-10-12-StructureArgsSimple

6.1381%        0.0391

SingleSource/UnitTests/2002-10-13-BadLoad

-4.6729%        0.0321

SingleSource/UnitTests/2002-12-13-MishaTest

-3.4043%        0.0470

SingleSource/UnitTests/2003-04-22-Switch

0.4706%        0.0425

SingleSource/UnitTests/2003-05-02-DependentPHI

3.3573%        0.0417

SingleSource/UnitTests/2003-05-07-VarArgs

-1.0695%        0.0561

SingleSource/UnitTests/2003-05-12-MinIntProblem

-1.6827%        0.0416

SingleSource/UnitTests/2003-05-14-AtExit

2.5057%        0.0439

SingleSource/UnitTests/2003-05-26-Shorts

-0.4630%        0.0432

SingleSource/UnitTests/2003-05-31-CastToBool

-1.7241%        0.0464

SingleSource/UnitTests/2003-05-31-LongShifts

-13.1579%        0.0418

SingleSource/UnitTests/2003-07-06-IntOverflow

11.3744%        0.0422

SingleSource/UnitTests/2003-07-08-BitOpsTest

7.7605%        0.0451

SingleSource/UnitTests/2003-07-09-LoadShorts

10.1449%        0.0483

SingleSource/UnitTests/2003-07-09-SignedArgs

-10.3321%        0.0542

SingleSource/UnitTests/2003-07-10-SignConversions

13.3663%        0.0404

SingleSource/UnitTests/2003-08-05-CastFPToUint

1.3072%        0.0459

SingleSource/UnitTests/2003-08-11-VaListArg

1.2478%        0.0561

SingleSource/UnitTests/2003-08-20-FoldBug

-8.9431%        0.0492

SingleSource/UnitTests/2003-09-18-BitFieldTest

-7.3986%        0.0419

SingleSource/UnitTests/2003-10-13-SwitchTest

-2.0408%        0.0392

SingleSource/UnitTests/2003-10-29-ScalarReplBug

11.3402%        0.0388

SingleSource/UnitTests/2004-02-02-NegativeZero

4.4910%        0.0334

SingleSource/UnitTests/2004-06-20-StaticBitfieldInit

-8.2474%        0.0388

SingleSource/UnitTests/2004-11-28-GlobalBoolLayout

-1.7817%        0.0449

SingleSource/UnitTests/2005-05-11-Popcount-ffs-fls

1.7762%        0.0563

SingleSource/UnitTests/2005-05-12-Int64ToFP

2.5822%        0.0426

SingleSource/UnitTests/2005-05-13-SDivTwo

-6.4748%        0.0417

SingleSource/UnitTests/2005-07-15-Bitfield-ABI

1.7241%        0.0348

SingleSource/UnitTests/2005-07-17-INT-To-FP

9.2308%        0.0390

SingleSource/UnitTests/2005-11-29-LongSwitch

-5.3985%        0.0389

SingleSource/UnitTests/2006-01-23-UnionInit

-14.6293%        0.0499

SingleSource/UnitTests/2006-01-29-SimpleIndirectCall

0.4950%        0.0404

SingleSource/UnitTests/2006-02-04-DivRem

4.5767%        0.0437

SingleSource/UnitTests/2006-12-01-float_varg

17.2932%        0.0399

SingleSource/UnitTests/2006-12-04-DynAllocAndRestore

4.4917%        0.0423

SingleSource/UnitTests/2006-12-07-Compare64BitConstant

3.6036%        0.0444

SingleSource/UnitTests/2006-12-11-LoadConstants

-4.3369%        0.1199

SingleSource/UnitTests/2007-01-04-KNR-Args

3.3264%        0.0481

SingleSource/UnitTests/2007-03-02-VaCopy

-2.5126%        0.0398

SingleSource/UnitTests/2007-04-10-BitfieldTest

-5.6075%        0.0428

SingleSource/UnitTests/2007-04-25-weak

-2.9412%        0.0374

SingleSource/UnitTests/2008-04-18-LoopBug

-3.2020%        0.0406

SingleSource/UnitTests/2008-04-20-LoopBug2

10.8173%        0.0416

SingleSource/UnitTests/2008-07-13-InlineSetjmp

0.6912%        0.0434

SingleSource/UnitTests/2009-04-16-BitfieldInitialization

-11.3546%        0.0502

SingleSource/UnitTests/2009-12-07-StructReturn

-12.7517%        0.0447

SingleSource/UnitTests/2010-05-24-BitfieldTest

-3.9394%        0.0330

SingleSource/UnitTests/AtomicOps

-7.9909%        0.0438

SingleSource/UnitTests/DefaultInitDynArrays

-21.4646%        0.0396

SingleSource/UnitTests/FloatPrecision

9.6774%        0.0372

SingleSource/UnitTests/SignlessTypes/Large/cast

2.1769%        0.0735

SingleSource/UnitTests/SignlessTypes/cast-bug

-13.0000%        0.0400

SingleSource/UnitTests/SignlessTypes/cast2

13.1980%        0.0394

SingleSource/UnitTests/SignlessTypes/ccc

7.9108%        0.0493

SingleSource/UnitTests/SignlessTypes/div

6.6390%        0.0482

SingleSource/UnitTests/SignlessTypes/factor

6.7616%        0.0562

SingleSource/UnitTests/SignlessTypes/rem

-3.7456%        0.1148

SingleSource/UnitTests/SignlessTypes/shr

-7.2954%        0.0562

SingleSource/UnitTests/StructModifyTest

-11.3043%        0.0345

SingleSource/UnitTests/TestLoop

-4.6358%        0.0453

SingleSource/UnitTests/Threads/2010-12-08-tls

13.6951%        0.0387

SingleSource/UnitTests/Threads/tls

-11.0672%        0.0506

SingleSource/UnitTests/Vector/SSE/sse.expandfft

-9.3982%        0.1213

SingleSource/UnitTests/Vector/SSE/sse.isamax

-1.4124%        0.1062

SingleSource/UnitTests/Vector/SSE/sse.shift

-10.0942%        0.0743

SingleSource/UnitTests/Vector/SSE/sse.stepfft

-2.4660%        0.1176

SingleSource/UnitTests/Vector/build

-16.8467%        0.0463

SingleSource/UnitTests/Vector/build2

-4.5694%        0.0569

SingleSource/UnitTests/Vector/constpool

-12.5896%        1.2272

SingleSource/UnitTests/Vector/divides

-12.8151%        0.0476

SingleSource/UnitTests/Vector/multiplies

-6.2810%        0.0605

SingleSource/UnitTests/Vector/simple

-9.1278%        0.0493

SingleSource/UnitTests/Vector/sumarray

-0.7042%        0.0426

SingleSource/UnitTests/Vector/sumarray-dbl

15.2582%        0.0426

SingleSource/UnitTests/Vectorizer/gcc-loops

0.8690%        0.4488

SingleSource/UnitTests/block-byref-cxxobj-test

-2.6786%        0.0336

SingleSource/UnitTests/block-byref-test

4.7619%        0.0315

SingleSource/UnitTests/block-call-r7674133

-5.1515%        0.0330

SingleSource/UnitTests/block-copied-in-cxxobj

8.5873%        0.0361

SingleSource/UnitTests/block-copied-in-cxxobj-1

-21.4876%        0.0363

SingleSource/UnitTests/blockstret

-8.4469%        0.0367

SingleSource/UnitTests/byval-alignment

4.9140%        0.0407

SingleSource/UnitTests/conditional-gnu-ext

3.7534%        0.0373

SingleSource/UnitTests/conditional-gnu-ext-cxx

-2.4938%        0.0401

SingleSource/UnitTests/initp1

3.0166%        0.0663

SingleSource/UnitTests/member-function-pointers

-3.0238%        0.0463

SingleSource/UnitTests/ms_struct-bitfield

-17.6768%        0.0396

SingleSource/UnitTests/ms_struct-bitfield-1

0.9404%        0.0319

SingleSource/UnitTests/ms_struct-bitfield-init

3.9535%        0.0430

SingleSource/UnitTests/ms_struct-bitfield-init-1

-10.4603%        0.0478

SingleSource/UnitTests/ms_struct_pack_layout

-4.7619%        0.0462

SingleSource/UnitTests/ms_struct_pack_layout-1

-16.2437%        0.0394

SingleSource/UnitTests/printargs

-4.2857%        0.0420

SingleSource/UnitTests/stmtexpr

-3.5047%        0.0428

SingleSource/UnitTests/vla

-3.1818%        0.0660

SingleSource/UnitTests/Vector/build

-16.8467%        0.0463

SingleSource/UnitTests/Vector/build2

-4.5694%        0.0569

SingleSource/UnitTests/Vector/constpool

-12.5896%        1.2272

SingleSource/UnitTests/Vector/divides

-12.8151%        0.0476

SingleSource/UnitTests/Vector/multiplies

-6.2810%        0.0605

SingleSource/UnitTests/Vector/simple

-9.1278%        0.0493

SingleSource/UnitTests/Vector/sumarray

-0.7042%        0.0426

SingleSource/UnitTests/Vector/sumarray-dbl

15.2582%        0.0426

SingleSource/UnitTests/Vectorizer/gcc-loops

0.8690%        0.4488

SingleSource/UnitTests/block-byref-cxxobj-test

-2.6786%        0.0336

SingleSource/UnitTests/block-byref-test

4.7619%        0.0315

SingleSource/UnitTests/block-call-r7674133

-5.1515%        0.0330

SingleSource/UnitTests/block-copied-in-cxxobj

8.5873%        0.0361

SingleSource/UnitTests/block-copied-in-cxxobj-1

-21.4876%        0.0363

SingleSource/UnitTests/blockstret

-8.4469%        0.0367

SingleSource/UnitTests/byval-alignment

4.9140%        0.0407

SingleSource/UnitTests/conditional-gnu-ext

3.7534%        0.0373

SingleSource/UnitTests/conditional-gnu-ext-cxx

-2.4938%        0.0401

SingleSource/UnitTests/initp1

3.0166%        0.0663

SingleSource/UnitTests/member-function-pointers

-3.0238%        0.0463

SingleSource/UnitTests/ms_struct-bitfield

-17.6768%        0.0396

SingleSource/UnitTests/ms_struct-bitfield-1

0.9404%        0.0319

SingleSource/UnitTests/ms_struct-bitfield-init

3.9535%        0.0430

SingleSource/UnitTests/ms_struct-bitfield-init-1

-10.4603%        0.0478

SingleSource/UnitTests/ms_struct_pack_layout

-4.7619%        0.0462

SingleSource/UnitTests/ms_struct_pack_layout-1

-16.2437%        0.0394

SingleSource/UnitTests/printargs

-4.2857%        0.0420

SingleSource/UnitTests/stmtexpr

-3.5047%        0.0428

SingleSource/UnitTests/vla

-3.1818%        0.0660

Geomean = 0.9825

Hi Jingyue,

Then I think the compile time result is OK to me.

Thanks,
-Jiangning

I was trying to rebase this diff against the latest version. However, one test case (test/CodeGen/X86/loop-strength-reduce8.ll) failed. The failure is not directly caused by this change in machine sinking but triggered by it. I reduced the test case and filed PR20701 (http://llvm.org/bugs/show_bug.cgi?id=20701). It would be great if someone here can take a look. Many thanks!

jingyue updated this revision to Diff 12999.Aug 27 2014, 1:41 PM
jingyue edited edge metadata.

PR20776 blocks submitting this diff which is not really the culprit. To move
things forward, I add a flag to use MachinePostDominatorTree only when
specified in the command line, so that people can experiment it. After PR20776
is resolved, I will remove this flag and let MachineSinking always use
MachinePostDominatorTree.

Owen and Jiangning, is this temporary work around OK with you?

Hi Jingyue,

It sounds not a good idea.

The failure exposed by x86 test case is for performance only rather than correctness, right?

If you have measured x86 performance, and make sure it won't generally affect performance, why can't you add //FIXME in test case instead?

Thanks,
-Jiangning

jingyue updated this revision to Diff 13096.Aug 29 2014, 9:49 AM

Thanks Jiangning. I think what you said makes sense.

Not combining movl and addl in loop-reduce-strength8.ll does not really affect
its ability to verify LoopStrengthReduce, so I think it's fine to leave a FIXME
in that test case.

Hi Jinyue,

Yes. This is sensible to me, and I think you can commit now.

Thanks,
-Jiangning

jingyue accepted this revision.Aug 31 2014, 8:57 PM
jingyue added a reviewer: jingyue.
This revision is now accepted and ready to land.Aug 31 2014, 8:57 PM
jingyue closed this revision.Aug 31 2014, 8:57 PM

Committed in r216862