%PDF-1.4
%����
3 0 obj
<< /pgfprgb [/Pattern /DeviceRGB] >>
endobj
4 0 obj
<< /S /GoTo /D (Abstract.1) >>
endobj
7 0 obj
(Abstract)
endobj
8 0 obj
<< /S /GoTo /D (acknowledgments.1) >>
endobj
11 0 obj
(Acknowledgments)
endobj
12 0 obj
<< /S /GoTo /D (tableofcontents.1) >>
endobj
15 0 obj
(Contents)
endobj
16 0 obj
<< /S /GoTo /D (chapter.1) >>
endobj
19 0 obj
(1 Introduction)
endobj
20 0 obj
<< /S /GoTo /D (part.1) >>
endobj
23 0 obj
(Background)
endobj
24 0 obj
<< /S /GoTo /D (chapter.2) >>
endobj
27 0 obj
(2 LLVM)
endobj
28 0 obj
<< /S /GoTo /D (section.2.1) >>
endobj
31 0 obj
(2.1 Architecture)
endobj
32 0 obj
<< /S /GoTo /D (section.2.2) >>
endobj
35 0 obj
(2.2 Intermediate Representation \(LLVM-IR\))
endobj
36 0 obj
<< /S /GoTo /D (subsection.2.2.1) >>
endobj
39 0 obj
(2.2.1 Types)
endobj
40 0 obj
<< /S /GoTo /D (subsection.2.2.2) >>
endobj
43 0 obj
(2.2.2 Instructions)
endobj
44 0 obj
<< /S /GoTo /D (section.2.3) >>
endobj
47 0 obj
(2.3 Analysis Passes)
endobj
48 0 obj
<< /S /GoTo /D (subsection.2.3.1) >>
endobj
51 0 obj
(2.3.1 Dominator Tree)
endobj
52 0 obj
<< /S /GoTo /D (subsection.2.3.2) >>
endobj
55 0 obj
(2.3.2 Loop Information)
endobj
56 0 obj
<< /S /GoTo /D (subsection.2.3.3) >>
endobj
59 0 obj
(2.3.3 Region Information)
endobj
60 0 obj
<< /S /GoTo /D (subsection.2.3.4) >>
endobj
63 0 obj
(2.3.4 Scalar Evolution)
endobj
64 0 obj
<< /S /GoTo /D (subsection.2.3.5) >>
endobj
67 0 obj
(2.3.5 Alias Analysis)
endobj
68 0 obj
<< /S /GoTo /D (section.2.4) >>
endobj
71 0 obj
(2.4 Canonicalization)
endobj
72 0 obj
<< /S /GoTo /D (subsection.2.4.1) >>
endobj
75 0 obj
(2.4.1 Loop Canonicalization)
endobj
76 0 obj
<< /S /GoTo /D (chapter.3) >>
endobj
79 0 obj
(3 Integer Polyhedra)
endobj
80 0 obj
<< /S /GoTo /D (section.3.1) >>
endobj
83 0 obj
(3.1 Integer Set)
endobj
84 0 obj
<< /S /GoTo /D (section.3.2) >>
endobj
87 0 obj
(3.2 Integer Map)
endobj
88 0 obj
<< /S /GoTo /D (section.3.3) >>
endobj
91 0 obj
(3.3 Properties and Operations on Sets and Maps)
endobj
92 0 obj
<< /S /GoTo /D (part.2) >>
endobj
95 0 obj
(Polly)
endobj
96 0 obj
<< /S /GoTo /D (chapter.4) >>
endobj
99 0 obj
(4 Architecture)
endobj
100 0 obj
<< /S /GoTo /D (section.4.1) >>
endobj
103 0 obj
(4.1 How to Use Polly)
endobj
104 0 obj
<< /S /GoTo /D (subsection.4.1.1) >>
endobj
107 0 obj
(4.1.1 Polly's LLVM-IR Passes)
endobj
108 0 obj
<< /S /GoTo /D (subsection.4.1.2) >>
endobj
111 0 obj
(4.1.2 pollycc - A Convenient Polyhedral Compiler)
endobj
112 0 obj
<< /S /GoTo /D (chapter.5) >>
endobj
115 0 obj
(5 LLVM-IR to Polyhedral Description)
endobj
116 0 obj
<< /S /GoTo /D (section.5.1) >>
endobj
119 0 obj
(5.1 What can be Translated?)
endobj
120 0 obj
<< /S /GoTo /D (section.5.2) >>
endobj
123 0 obj
(5.2 How is a SCoP Defined on LLVM-IR?)
endobj
124 0 obj
<< /S /GoTo /D (section.5.3) >>
endobj
127 0 obj
(5.3 The Polyhedral Representation of a SCoP)
endobj
128 0 obj
<< /S /GoTo /D (section.5.4) >>
endobj
131 0 obj
(5.4 How to Create the Polyhedral Representation from LLVM-IR)
endobj
132 0 obj
<< /S /GoTo /D (section.5.5) >>
endobj
135 0 obj
(5.5 How to Detect Maximal SCoPs)
endobj
136 0 obj
<< /S /GoTo /D (section.5.6) >>
endobj
139 0 obj
(5.6 Preparing Transformations)
endobj
140 0 obj
<< /S /GoTo /D (subsection.5.6.1) >>
endobj
143 0 obj
(5.6.1 LLVM canonicalization passes)
endobj
144 0 obj
<< /S /GoTo /D (subsection.5.6.2) >>
endobj
147 0 obj
(5.6.2 Create Independent Basic Blocks)
endobj
148 0 obj
<< /S /GoTo /D (chapter.6) >>
endobj
151 0 obj
(6 Polyhedral Optimizations)
endobj
152 0 obj
<< /S /GoTo /D (section.6.1) >>
endobj
155 0 obj
(6.1 Transformations on the Polyhedral Representation)
endobj
156 0 obj
<< /S /GoTo /D (section.6.2) >>
endobj
159 0 obj
(6.2 External Optimizers - JSCoP)
endobj
160 0 obj
<< /S /GoTo /D (section.6.3) >>
endobj
163 0 obj
(6.3 Dependency Analysis)
endobj
164 0 obj
<< /S /GoTo /D (chapter.7) >>
endobj
167 0 obj
(7 Polyhedral Description to LLVM-IR)
endobj
168 0 obj
<< /S /GoTo /D (section.7.1) >>
endobj
171 0 obj
(7.1 Generation of a Generic AST)
endobj
172 0 obj
<< /S /GoTo /D (section.7.2) >>
endobj
175 0 obj
(7.2 Analyses on the Generic AST)
endobj
176 0 obj
<< /S /GoTo /D (subsection.7.2.1) >>
endobj
179 0 obj
(7.2.1 Detection of Parallel Loops)
endobj
180 0 obj
<< /S /GoTo /D (subsection.7.2.2) >>
endobj
183 0 obj
(7.2.2 The Stride of a Memory Access Relation)
endobj
184 0 obj
<< /S /GoTo /D (section.7.3) >>
endobj
187 0 obj
(7.3 Generation of LLVM-IR)
endobj
188 0 obj
<< /S /GoTo /D (subsection.7.3.1) >>
endobj
191 0 obj
(7.3.1 Sequential Code Generation)
endobj
192 0 obj
<< /S /GoTo /D (subsection.7.3.2) >>
endobj
195 0 obj
(7.3.2 OpenMP Code Generation)
endobj
196 0 obj
<< /S /GoTo /D (subsection.7.3.3) >>
endobj
199 0 obj
(7.3.3 Vector Code Generation)
endobj
200 0 obj
<< /S /GoTo /D (chapter.8) >>
endobj
203 0 obj
(8 Experiments)
endobj
204 0 obj
<< /S /GoTo /D (section.8.1) >>
endobj
207 0 obj
(8.1 Matrix Multiplication - Vectorized)
endobj
208 0 obj
<< /S /GoTo /D (section.8.2) >>
endobj
211 0 obj
(8.2 Automatic Optimization of the PolyBench benchmarks)
endobj
212 0 obj
<< /S /GoTo /D (subsection.8.2.1) >>
endobj
215 0 obj
(8.2.1 The Identity Transformation)
endobj
216 0 obj
<< /S /GoTo /D (subsection.8.2.2) >>
endobj
219 0 obj
(8.2.2 Creating Optimized Sequential Code with Pluto)
endobj
220 0 obj
<< /S /GoTo /D (subsection.8.2.3) >>
endobj
223 0 obj
(8.2.3 Creating Optimized Parallel Code with Pluto)
endobj
224 0 obj
<< /S /GoTo /D (chapter.9) >>
endobj
227 0 obj
(9 Conclusion)
endobj
228 0 obj
<< /S /GoTo /D (part.3) >>
endobj
231 0 obj
(Appendix)
endobj
232 0 obj
<< /S /GoTo /D (dummy.2) >>
endobj
235 0 obj
(List of Figures)
endobj
236 0 obj
<< /S /GoTo /D (dummy.3) >>
endobj
239 0 obj
(List of Listings)
endobj
240 0 obj
<< /S /GoTo /D (dummy.4) >>
endobj
243 0 obj
(List of Acronyms)
endobj
244 0 obj
<< /S /GoTo /D (dummy.5) >>
endobj
247 0 obj
(References)
endobj
248 0 obj
<< /S /GoTo /D (declaration.0) >>
endobj
251 0 obj
(Declaration)
endobj
252 0 obj
<< /S /GoTo /D [253 0 R /FitV ] >>
endobj
257 0 obj <<
/Length 589
/Filter /FlateDecode
>>
stream
xڕTQo�0~ϯ�#�vl'�m��:VX@�C֦�E��$������M��"�����;�C�Q4
�kJ��JA��B/�>7Yp����Rr���S'
)��V��B?�m1E�G����qj��l�2
#�S�p���S���3�9�#O��<"��A��ce#�����OՅ��(���)�g~���!�������+5�U��E\�:�7ŵ�OV+s+�0���Kkl�lΜZ+����I� �{��L����X��r1* U�e:1�]]�gۢ5m�/A��PL
g�M�q�i�4��a�v�w(�a�b�VBz�b�7]YT�C�k�gպ�2X�˼3������-��n[��>���Jơ�T�9Mk�?����m�KKj�d�"�j)�=�EO��g���k��嬉��l�v&��9/�M~ T"�+�%�H�]�t�L��X�CQMf�*NtP c{�I�wXY2���L54�O;K 7*6��,��cA�8ߧXP�c��c';���N �)�����7f��j4�1��<
��)c���f��6�!.(���(�5G�2�P"d"S�r����o\�J�&u� ���?�c,X
endstream
endobj
256 0 obj <<
/Type /Page
/Contents 257 0 R
/Resources 255 0 R
/MediaBox [0 0 595.276 841.89]
/Parent 262 0 R
>> endobj
254 0 obj <<
/Type /XObject
/Subtype /Form
/FormType 1
/PTEX.FileName (./images/uni-passau.pdf)
/PTEX.PageNumber 1
/PTEX.InfoDict 263 0 R
/BBox [0 0 371.69 97.83]
/Resources <<
/ProcSet [ /PDF ]
/ExtGState <<
/R8 264 0 R
>>>>
/Length 2708
/Filter /FlateDecode
>>
stream
x�mYI�c���o�M&��1�@pu�7���G$GI����"��uy.���������ן�{���8��]mW+��○^�yx�����Sk�d����ߏ�Js�\1D'-^?��������ƅ���kzI��q���z>"�Ẅ�U�}rg�˂qt�g�Hͻ
Ib�$@���ɁU�ސ�O$�V]�$4�u!�X6�A!����+F�6=|s��1����ZH)Nj�H��7�-��J��a�P
.��K��]Bq����]�MRt�`&���_Jf��y!8�B)��f{Ϫ ��S�_r�n����ڰ-AV���T���OD��`"��\X��R��sQ���
��X|��C�;����kq%���H�&�i�R��G��
�p,B��1�Ӫ�`
x�=I�1�j�D��jAQ���<�ߚ::�b�� Cr��ԛL !���k��|��}���Ex(%n�=$�e��JO���w�q�(�$���ₘ���A���t �j �~��"+-�#�������
,���$d�9\T�?��r��4d�C� \���`(@[E\�,Səp��pKG"2�Fs"�.n��g�1�@��x�H�ZE_��ڥA�R�d+����A~=�Bi=Y)p �d%���]���� ��ӞAz�s4��V!��pdX��P�r�R@��6+i�t�h�/'0�ɽ��"&9���&�MU��d���9�*���'731�9m������<�Хr0S�'|�~G�3�x3sKk���� ��73ao��`�Prs�0i��)s�����IK��v�3�)lZJ�,'-?��A@ˈ�[�z$�Y��!���Y[D!�Q}p�v�#��� _�c?֙|ԢO^7�o����I���Y��?���L����V8��?�U ��mc��M�.4���!,F �>�,�P��؝�-5���֜-1o6�J��<�Y�/�cԼԙ0�C���� J��� ��MQ�����j�qH 䘑z�
�!l�����R|�A�0@P��^Rٔ$���YG4��-tv�t�Rd����V��1"A۞Q�:#v�D�.c�������#S�#�Ƭ7H�QD�b�Zf�/E���dcl-qfh�������Jc�FV犎r|��A2�t��E�
�A{�D� �;UX������"��J�^�hi�BH��f�2�]���S8�5��-B.Ԇo$��i�0��Z2�uF\1E�E�a7���~�)�]�K�}ΧE���.R<��
�zqXi �N}�7�!5�YLr�]��S2+�zF�N�N� >aF+N{S1���˂h6���{Dd�
�{����vhfM�q ��J)�N�%YV=��P���ɛ1���ĜȱS�}O���F�HQ!En����E�5�7 ⧍�0�|!�rf }U��9]�8 ��ڌ�O�O$��� ����v�"�<�ˌ������ v�2����LΉ�1�'��$:�f��q�vc�l�
#w�3���;�;�������4M����e�g^��������l'��Î��hܩ�r-����A�nm����y}I�kw/�`6[C܆.�2S����^�!���cR��q�ck �3�$�e�1��R�dH��ؿFv�`_�S�¡JE�5_�*�{4��$��p�k�*|�XTEC�=�Q���^��t(Vph�E��������f,R�=(3p�"Qy*R+��&�=U�q���� CNeS�f �\�-=��9��n�ե[q�CEU��lCk��Sb[T�Z�^�of�&�Eie����"Q�ܫ� �o7�9�P�19�M���Gv�i8S���S�u��z �-v�D'�ܰ�o";��o�LS10�ꑦ&�c��x��#-�C������F?�C 5k"�`�@���?Ți�/��D��LK�VF�T/1 �����E���u� ���6f��u}��A~C=�|����o�e���t ��~m����M'R�9?����Պ-Ù�?�C ��������v�L���a��pEN[c��~5X�o,�Ǹ�����gWE`�@9RۀIl�:������%��/��g�´7U��>��ȡ�oA&2U�v���3��1��v1g ף�_���q�@��s�%��/ͬ���w+�r����p�l���5�d��+L�A�~�s��zd��'U�����R�}��-2}�Ū߮�����w�v�T>?U��i/s��5�B �gFTj~���[ʁ4�{�>�_; �=��Ļp&���z�T��yz�h�'���D;&���)χyn�_�Dė���F�y���xJ(���5��;�KkL��Q��:���w1�v�g��}[-|y~�'��'�u�����{����Pڂ��@�V�/s��*';��;��9,,��iV{����-�'��.�Z#�L��PX������%��c
�Y|@�~�^ø���Q�^ʣHw +�#�ϮÁw;�8[��GQ^�Ue���f��"K�� ��c���)��K0
[[COn_����ݤl���T��u�C��|���� ��>C�6���`�Y��C)��0��]*�"������%W�iD����~F��Q�P�q{jHI�m�y��c��b��4�v��H�Z4����+B����<�'��Ï��,��� ���)ڟ�?���\U��
endstream
endobj
263 0 obj
<<
/Producer (GPL Ghostscript 8.71)
/CreationDate (D:20101028135353-04'00')
/ModDate (D:20101028135353-04'00')
>>
endobj
264 0 obj
<<
/Type /ExtGState
/OPM 1
>>
endobj
258 0 obj <<
/D [256 0 R /XYZ 84.039 803.205 null]
>> endobj
259 0 obj <<
/D [256 0 R /XYZ 85.039 765.991 null]
>> endobj
255 0 obj <<
/ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
/Font << /F24 260 0 R /F26 261 0 R >>
/XObject << /Im1 254 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
267 0 obj <<
/Length 233
/Filter /FlateDecode
>>
stream
x�U�=o�0������1m���ե�`DJN
vgi}*����}��18 �M�����P���rp��(j�e����J+HܡOe%�$�݈iBr܌�%1�v\�_�u���?�C�ڞ��*�]��p�����������0���1�m�y�ݖF���Y�<�-����7�}<�|��ڄi�ç���JJM�PqE��sq9��_�������������r��@X�
endstream
endobj
266 0 obj <<
/Type /Page
/Contents 267 0 R
/Resources 265 0 R
/MediaBox [0 0 595.276 841.89]
/Parent 262 0 R
>> endobj
268 0 obj <<
/D [266 0 R /XYZ 84.039 803.205 null]
>> endobj
265 0 obj <<
/ColorSpace 3 0 R /Pattern 2 0 R /ExtGState 1 0 R
/Font << /F24 260 0 R /F33 269 0 R /F26 261 0 R >>
/ProcSet [ /PDF /Text ]
>> endobj
271 0 obj <<
/Length 1691
/Filter /FlateDecode
>>
stream
xڥXɒ�6��W�HUY4�!ţ�I�eW��T���!! 1 �\f<�����ЕC.��غ_�zG/�~�
��zAz���¤��4�0������Ы@�����yd�xi|DE�ڻ��������M�zQay�.VD��Gy������O���6�B�%7����ȍ��r���wWo�+�� /���!q�,ς,�����0*cu��&a��Mᷛ8����}cYu2G�t�?�=�9�eK���m�i4��F�V�Ob�6I��o��W�Vw�6�#����X
k��ݢS�V�(
�8�S�dX4��қ(��M�[��k_��,b�5� �[>�Mk���Q���o��[�u�)�fX��1���`>�v<<�a��7]N�g���]g�"�u �믓�c�Ȫ�c��Nx���Ӡ���M[i�,{R�&J��|)��u��ޛ
����T�f[�i���*Ozx�v��a��H{�)S���0v��$߱Q�6��,k*]��)�0d]9� �,u�{�P��g�"fd���-\��� œ���02x��d�h���q f�����е�(�v�]-�Q+��G5+98���7Q��yF�?�,^u��4�
���@� ��#e��t@U�F���RI�����N��]�����X�V��']w�#G�Q�֏�H?�
��lSt�`A9,�H�L�~�q˪�e�汦@ sn��`l���n
S��& |