Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ๊ณต๊ธ์์์ ์คํํ ์ ์๋ lli-3.7 ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
lli - LLVM ๋นํธ์ฝ๋์์ ์ง์ ํ๋ก๊ทธ๋จ ์คํ
๊ฐ์
lli [์ต์ ] [ํ์ผ ์ด๋ฆ] [ํ๋ก๊ทธ๋จ ์ธ์]
๊ธฐ์
lli LLVM ๋นํธ์ฝ๋ ํ์์ ํ๋ก๊ทธ๋จ์ ์ง์ ์คํํฉ๋๋ค. LLVM ๋นํธ ์ฝ๋์ ํ๋ก๊ทธ๋จ์ด ํ์ํฉ๋๋ค.
ํ์์ ์ง์ ํ๊ณ ํ์ฌ ์ปดํ์ผ๋ฌ์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ Just-In-Time ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์คํํฉ๋๋ค.
์ํคํ ์ฒ ๋๋ ํต์ญ์ฌ. lli ๋ค์๊ณผ ๊ฐ์ ์ฝ๋ ์์ฑ๊ธฐ ์ต์ ์ ๋ชจ๋ ์ฌ์ฉํฉ๋๋ค.
llc|llc, ํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ง ํจ๊ณผ์ ์ ๋๋ค. lli JIT(Just-In-Time) ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
If ํ์ผ ์ด๋ฆ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ lli ์์ ํ๋ก๊ทธ๋จ์ LLVM ๋นํธ์ฝ๋๋ฅผ ์ฝ์ต๋๋ค.
ํ์ค ์ ๋ ฅ.
์ ํ์ ์ธ์ ๋ช ๋ น์ค์ ์ง์ ๋ ์ธ์๋ก ํ๋ก๊ทธ๋จ์ ์ ๋ฌ๋ฉ๋๋ค.
์ผ๋ฐ ์ต์
-๊ฐ์ง-argv0=์คํ ํ์ผ
์ค๋ฒ๋ผ์ด๋ ์ธ์[0] ์คํ ํ๋ก๊ทธ๋จ์ ์ ๋ฌ๋ ๊ฐ์ ๋๋ค.
-ํ ํด์๊ธฐ={๊ฑฐ์ง, ์ฐธ}
true๋ก ์ค์ ํ๋ฉด JIT(Just-In-Time) ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ผ๋ ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด ์ํคํ ์ฒ. ๊ธฐ๋ณธ๊ฐ์ false์ ๋๋ค.
-๋์
๋ช ๋ น์ค ์ต์ ์ ์์ฝ์ ์ธ์ํฉ๋๋ค.
-ํ์ค=ํ๋ฌ๊ทธ์ธ ํ์ผ ์ด๋ฆ
ํ๋ lli ์ด๋ฆ์ด ์ง์ ๋ ํ๋ฌ๊ทธ์ธ(๊ณต์ ๊ฐ์ฒด)์ ๋ก๋ํ๋ ค๋ฉด ํ๋ฌ๊ทธ์ธ ํ์ผ ์ด๋ฆ ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์ํด ์ฌ์ฉํ์ญ์์ค
์ต์ ํ.
-ํต๊ณ
์ฝ๋ ์์ฑ ํจ์ค์์ ํต๊ณ๋ฅผ ์ธ์ํฉ๋๋ค. ์ด๊ฒ์ ์ ๋ํด์๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค.
ํ์ฌ ์ ์ ์ปดํ์ผ๋ฌ.
-์๊ฐ์ด ์ง๋จ
๊ฐ ์ฝ๋ ์์ฑ ํจ์ค์ ํ์ํ ์๊ฐ์ ๊ธฐ๋กํ๊ณ ํ์ค์ผ๋ก ์ธ์
์ค๋ฅ.
-๋ฒ์ญ
์ ๋ฒ์ ์ ์ธ์ํ์ญ์์ค. lli ๋ค๋ฅธ ์์ ์ ์ํํ์ง ์๊ณ ์ข ๋ฃํฉ๋๋ค.
TARGET ์ต์
-mํธ๋ฆฌํ=๋ชฉํ ํธ๋ฆฌํ
์ ๋ ฅ ๋นํธ์ฝ๋ ํ์ผ์ ์ง์ ๋ ๋์ ํธ๋ฆฌํ์ ์ง์ ๋
๋. ํธํ๋์ง ์๋ ์ํคํ ์ฒ๋ฅผ ์ ํํ๋ฉด ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
ํ์ฌ ์์คํ ์ผ๋ก.
-XNUMX ์=์์น
์ธ์ฝ๋ฉ๋ ๋์์ ์ฌ์ ์ํ์ฌ ์ด์ ๋ธ๋ฆฌ๋ฅผ ์์ฑํ ์ํคํ ์ฒ๋ฅผ ์ง์ ํฉ๋๋ค.
๋นํธ์ฝ๋ ํ์ผ์์. ์ ์ถ๋ ฅ์ ์ฐธ์กฐํ์ญ์์ค LLC -๋์ ์ ํจํ ์ํคํ ์ฒ ๋ชฉ๋ก์ ๋ณด๋ ค๋ฉด.
๊ธฐ๋ณธ์ ์ผ๋ก ์ด๊ฒ์ ๋์ ํธ๋ฆฌํ์์ ์ถ๋ก ๋๊ฑฐ๋ ํ์ฌ๋ก ์๋ ๊ฐ์ง๋ฉ๋๋ค.
๊ฑด์ถ๋ฌผ.
-mcpu=CPU ์ด๋ฆ
ํ์ฌ ์ํคํ ์ฒ์์ ์ฝ๋๋ฅผ ์์ฑํ ํน์ ์นฉ์ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก
์ด๊ฒ์ ๋์ ํธ๋ฆฌํ์์ ์ถ๋ก ๋๊ณ ํ์ฌ ์ํคํ ์ฒ๋ก ์๋ ๊ฐ์ง๋ฉ๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ CPU ๋ชฉ๋ก์ ๋ณด๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ญ์์ค. llvm-as < / dev / null | LLC -ํ์ง=xyz -mcpu=๋์๋ง
-mattr=a1,+a2,-a3,...
SIMD ์์ ์ฌ๋ถ์ ๊ฐ์ ๋์์ ํน์ ์์ฑ์ ์ฌ์ ์ํ๊ฑฐ๋ ์ ์ดํฉ๋๋ค.
ํ์ฑํ ์ฌ๋ถ. ์์ฑ์ ๊ธฐ๋ณธ ์ธํธ๋ ํ์ฌ CPU์ ์ํด ์ค์ ๋ฉ๋๋ค. ์ ๋ํ
์ฌ์ฉ ๊ฐ๋ฅํ ์์ฑ ๋ชฉ๋ก์์ ๋ค์์ ์ฌ์ฉํฉ๋๋ค. llvm-as < / dev / null | LLC -ํ์ง=xyz -mattr=๋์๋ง
๋ ์๋ POINT ์ต์
-์ด๊ณผ-fp-์ ๋ฐ๋ ๋นํ์ฑํ
๋ถ๋ ์์์ ์ ๋ฐ๋๋ฅผ ๋์ผ ์ ์๋ ์ต์ ํ๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
-inable-no-infs-fp-์ํ
Inf ๊ฐ์ด ์๋ค๊ณ ๊ฐ์ ํ๋ ์ต์ ํ๋ฅผ ํ์ฑํํฉ๋๋ค.
-no-nans-fp-์ํ ํ์ฑํ
NAN ๊ฐ์ด ์๋ค๊ณ ๊ฐ์ ํ๋ ์ต์ ํ๋ฅผ ํ์ฑํํฉ๋๋ค.
-๋ถ์์ -fp-์ํ ํ์ฑํ
ํ๋ lli ๋ถ๋ ์์์ ์ ๋ฐ๋๋ฅผ ๊ฐ์์ํฌ ์ ์๋ ์ต์ ํ๋ฅผ ํ์ฑํํฉ๋๋ค.
-์ํํธ ํ๋กํธ
ํ๋ lli ๋๋ฑํ ๋์ ์ํํธ์จ์ด ๋ถ๋ ์์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ์ ์์ฑํฉ๋๋ค.
ํ๋์จ์ด ์ง์นจ.
CODE ์ธ๋ ์ต์
-์ฝ๋ ๋ชจ๋ธ=๋ชจ๋ธ
๋ค์์์ ์ฝ๋ ๋ชจ๋ธ์ ์ ํํฉ๋๋ค.
default: ๋์ ๊ธฐ๋ณธ ์ฝ๋ ๋ชจ๋ธ
small: ์์ ์ฝ๋ ๋ชจ๋ธ
์ปค๋: ์ปค๋ ์ฝ๋ ๋ชจ๋ธ
๋งค์ฒด: ์ค๊ฐ ์ฝ๋ ๋ชจ๋ธ
๋ํ: ๋ํ ์ฝ๋ ๋ชจ๋ธ
-RA ํ ์ค์ผ์ค๋ฌ ๋นํ์ฑํ
๋ ์ง์คํฐ ํ ๋น ํ ์ค์ผ์ค๋ง์ ๋นํ์ฑํํฉ๋๋ค.
- ๋นํ์ฑํ - ์ ์ถ - ์ตํฉ
์ ์ถ ์ฝ๋๋ฅผ ์ง์นจ์ ํตํฉํ์ง ์๋๋ก ์ค์ ํฉ๋๋ค.
-jit-enable-eh
Just-In-Time ์ปดํ์ผ๋ฌ์์ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํ์ฑํํด์ผ ํฉ๋๋ค.
- ์กฐ์ธ ๋ผ์ด๋ธ ๊ฐ๊ฒฉ
๋ณต์ฌ๋ณธ ๋ณํฉ(๊ธฐ๋ณธ๊ฐ=true).
-nozero-์ด๊ธฐํ-in-bss XNUMX์ผ๋ก ์ด๊ธฐํ๋ ๊ธฐํธ๋ฅผ BSS ์น์ ์ ๋ฐฐ์นํ์ง ๋ง์ญ์์ค.
-์ฌ์ RA ์ผ์ =์ค์ผ์ค๋ฌ
์ฌ์ฉ ๊ฐ๋ฅํ ๋ช ๋ น ์ค์ผ์ค๋ฌ(๋ ์ง์คํฐ ํ ๋น ์ ):
=default: ๋์์ ๊ฐ์ฅ ์ ํฉํ ์ค์ผ์ค๋ฌ
=none: ์ผ์ ์์: ๋๋น ์ฐ์ ์ํ์ฑ
=simple: ๊ฐ๋จํ XNUMX๋จ๊ณ ์ค์ผ์ค๋ง: ์ค์ ๊ฒฝ๋ก ์ต์ํ ๋ฐ ํ๋ก์ธ์ ํ์ฉ๋ ์ต๋ํ
=simple-noitin: ๋จ์ XNUMX๋จ๊ณ ์ค์ผ์ค๋ง: ์ผ๋ฐ ๋๊ธฐ ์๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ ์ ์ธํ๊ณ ๋จ์๊ณผ ๋์ผ
=list-burr: ์ํฅ์ ๋ ์ง์คํฐ ์ถ์ ๋ชฉ๋ก ์ค์ผ์ค๋ง
=list-tdrr: ํํฅ์ ๋ ์ง์คํฐ ์ถ์ ๋ชฉ๋ก ์ค์ผ์ค๋ง
=list-td: ํํฅ์ ๋ชฉ๋ก ์ค์ผ์ค๋ฌ -print-machineinstrs - ์์ฑ๋ ๊ธฐ๊ณ ์ฝ๋ ์ธ์
-๋ฆฌ๊ฐ๋ก=ํ ๋น์
์ฌ์ฉํ ํ ๋น์๋ฅผ ๋ฑ๋กํฉ๋๋ค(๊ธฐ๋ณธ๊ฐ=linearscan).
=bigblock: ๋น ๋ธ๋ก ๋ ์ง์คํฐ ํ ๋น์
=linearscan: ์ ํ ์ค์บ ๋ ์ง์คํฐ ํ ๋น์ =local - ๋ก์ปฌ ๋ ์ง์คํฐ ํ ๋น์
=simple: ๋จ์ ๋ ์ง์คํฐ ํ ๋น์
- ์ด์ ๋ชจ๋ธ=๋ชจ๋ธ
์ฌ๋ฐฐ์น ๋ชจ๋ธ ์ ํ:
=default: ๋์ ๊ธฐ๋ณธ ์ฌ๋ฐฐ์น ๋ชจ๋ธ
=์ ์ : ์ฌ๋ฐฐ์น ๋ถ๊ฐ๋ฅ ์ฝ๋ =pic - ์์ ์ฌ๋ฐฐ์น ๊ฐ๋ฅ, ์์น ๋ ๋ฆฝ์ ์ฝ๋
=dynamic-no-pic: ์ฌ๋ฐฐ์น ๊ฐ๋ฅํ ์ธ๋ถ ์ฐธ์กฐ, ์ฌ๋ฐฐ์น ๋ถ๊ฐ๋ฅํ ์ฝ๋
-์คํ๋ฌ
์ฌ์ฉํ Spiller(๊ธฐ๋ณธ๊ฐ=๋ก์ปฌ)
=๋จ์: ๋จ์ ์คํ๋ฌ
=local: ๋ก์ปฌ ์คํ๋ฌ
-x86-asm-๊ตฌ๋ฌธ=๊ตฌ๋ฌธ
X86 ๋ฐฑ์๋์์ ๋ด๋ณด๋ผ ์ฝ๋ ์คํ์ผ ์ ํ:
=att: AT&T ์คํ์ผ ์ด์ ๋ธ๋ฆฌ ์์ฑ
=intel: ์ธํ ์คํ์ผ ์ด์ ๋ธ๋ฆฌ ๋ฐฉ์ถ
EXIT ์ง์
If lli ํ๋ก๊ทธ๋จ ๋ก๋์ ์คํจํ๋ฉด ์ข ๋ฃ ์ฝ๋ 1๋ก ์ข ๋ฃ๋ฉ๋๋ค.
์คํํ๋ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ ์ฝ๋๋ฅผ ๋ฐํํฉ๋๋ค.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ ์จ๋ผ์ธ์ผ๋ก lli-3.7 ์ฌ์ฉ