This repository was archived by the owner on Dec 20, 2019. It is now read-only.
Commit 349752c
Workaround for mingw i686 compiler optimization bug. (#19)
32-bit llc.exe build using i686-w64-mingw32-gcc/i686-w64-mingw32-g++
at least on version 5.3.1 and 5.4.0 triggers an optimization bug crashing
the process. This was observed by Android team when running cross compiler
targeting armv7-linux-gnueabi using LLVM 6.0. The MatchPhiSet call from
findCommon triggered an optimization resulting in incorrect stack pointer
adjustment on return. That in turn caused an AV when reading the incorrect
pointer from stack representing NewPhiNodes stack variable.
The fix will reduce optimization around this function not triggering the
optimization rules hitting the bug.1 parent 76f65d6 commit 349752c
1 file changed
+14
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2808 | 2808 | | |
2809 | 2809 | | |
2810 | 2810 | | |
| 2811 | + | |
| 2812 | + | |
| 2813 | + | |
| 2814 | + | |
| 2815 | + | |
| 2816 | + | |
| 2817 | + | |
| 2818 | + | |
| 2819 | + | |
| 2820 | + | |
| 2821 | + | |
2811 | 2822 | | |
2812 | 2823 | | |
2813 | 2824 | | |
| |||
2849 | 2860 | | |
2850 | 2861 | | |
2851 | 2862 | | |
| 2863 | + | |
| 2864 | + | |
| 2865 | + | |
2852 | 2866 | | |
2853 | 2867 | | |
2854 | 2868 | | |
| |||
0 commit comments