Články
Zprávičky
Fórum
Podpořte Root
Školení
Galerie
Root do mailu
RSS
Blogy
Knihy
Speciály
Manuály
Licence
Jak na Linux
Zdroják
Hledat
Root.cz
»
Témata
»
Clang
Clang
1
–
30
/
100
První strana
Předchozí strana
1
2
3
4
Následující strana
Poslední strana
Režim fast math v překladačích: přednosti, zápory a možné pasti
Moderní překladače při zpracování hodnot s plovoucí řádovou čárkou dodržují normu IEEE 754, a to včetně rozšíření této normy (IEEE 754–2008). To sice zajišťuje stabilitu, ale někdy je vhodné se od této normy odklonit.
Pavel Tišnovský
24. 2. 2026
Doba čtení:
38 minut
Technologie mezijazyků (mezikódů) a bajtkódů: LLVM IR a SIMD
LLVM IR je navržen tak, aby byl efektivně využitelný i na moderních architekturách mikroprocesorů. Prakticky všechny podporují operace typu SIMD a některé operace tak lze provádět se skalárními hodnotami i s vektory.
Pavel Tišnovský
19. 2. 2026
Doba čtení:
69 minut
Technologie mezijazyků (mezikódů) a bajtkódů: LLVM IR (3)
Dnes dokončíme popis všech skalárních instrukcí, které jsou podporovány v LLVM IR a současně které jsou využívány překladačem jazyka C. Ukážeme si práci s poli, výpočty s hodnotami typu half float a instrukci SELECT.
Pavel Tišnovský
12. 2. 2026
Doba čtení:
39 minut
Technologie mezijazyků (mezikódů) a bajtkódů: LLVM IR (2)
Popíšeme si další instrukce LLVM IR, tedy instrukce generované překladačem Clang. Bude se jednat o instrukce používané při výpočtech s FP hodnotami, dále konverzi dat, ale například i překladech rozvětvení.
Pavel Tišnovský
5. 2. 2026
Doba čtení:
47 minut
Technologie mezijazyků (mezikódů) a bajtkódů: LLVM IR
Mezijazyky se často využívají také v oblasti sofistikovaných překladačů. Do této kategorie spadají překladače, které jsou součástí projektu LLVM, které využívají mezijazyk LLVM IR.
Pavel Tišnovský
3. 2. 2026
Doba čtení:
37 minut
Technologie mezijazyků a bajtkódů v interpretrech a překladačích
Moderní interpretry i překladače nepřekládají zdrojové kódy v jediném kroku, ale rozdělují celý proces do několika fází. Výsledkem třetí fáze je program reprezentovaný v mezijazyku (mezikódu) popř. v bajtkódu.
Pavel Tišnovský
29. 1. 2026
Doba čtení:
54 minut
Pohled pod kapotu formátu WebAssembly: SIMD (vektorové) operace, druhá část
Ve WebAssembly je definováno asi dvě stě různých SIMD (vektorových) instrukcí. Dnes si popíšeme vybrané vektorové instrukce, z nichž některé umožňují provádění i dosti složitých operací (zhruba na úrovni SSE2).
Pavel Tišnovský
30. 12. 2025
Doba čtení:
57 minut
Kombinace programovacího jazyka C3 s assemblerem
V dnešní části seriálu o programovacím jazyku C3 se budeme zabývat tím, jakým způsobem je možné zkombinovat zdrojový kód v jazyku C3 s assemblerem. Jedná se přitom o jednu z klíčových vlastností programovacího jazyka C3.
Pavel Tišnovský
16. 12. 2025
Doba čtení:
59 minut
TinyGo: alternativní překladač a runtime systém programovacího jazyka Go
Většina programátorů vytvářejících aplikace v Go používá překladač, který je součástí standardní instalace Go. Ovšem existují i alternativy, mezi než patří gccgo a TinyGo. Dnes se seznámíme se základními vlastnostmi TinyGo.
Pavel Tišnovský
9. 12. 2025
Doba čtení:
28 minut
Pohled pod kapotu formátu WebAssembly: SIMD (vektorové) operace
Do specifikace WebAssembly byly přidány rozšiřující instrukce, mezi něž patří i SIMD (vektorové) operace. Překladače LLVM tyto instrukce podporují a navíc pro ně máme přímou podporu přímo v Clangu.
Pavel Tišnovský
4. 12. 2025
Doba čtení:
37 minut
Pohled pod kapotu formátu WebAssembly: instrukce pro řízení toku dat
Zaměříme se na instrukce sloužící pro řízení toku dat (control-flow). Ty jsou použity při překladu zdrojových kódů s běžným rozvětvením, vícenásobným rozvětvením, programovými smyčkami i s ternárními operátory.
Pavel Tišnovský
27. 11. 2025
Doba čtení:
31 minut
Memtest86+ 8.00 s podporou nejnovějších procesorů AMD a Intel
Dnes vyšel open source nástroj pro kontrolu paměti Memtest86+ ve verzi 8.00, ve kterém jsou podporovány nové procesory AMD a Intel. Zrychlena byla detekce na procesorech s velkým počtem jader. Je dostupný nový tmavý vzhled. Nově se detekuje…
Jan Fikar
24. 11. 2025
Pohled pod kapotu formátu WebAssembly: základní instrukční sada
Popíšeme si základní instrukce, které jsou ve WebAssembly definovány. Jedná se o aritmetické instrukce, konverzní operace, porovnání operandů a taktéž o instrukce určené pro manipulaci s obsahem zásobníku operandů.
Pavel Tišnovský
20. 11. 2025
Doba čtení:
40 minut
Pohled pod kapotu formátu WebAssembly: nízkoúrovňová náhrada JavaScriptu
Seznámíme se s technologiemi, na kterých je založen formát WebAssembly. Tento formát umožňuje spouštění aplikací v rámci webových prohlížečů popř. na serverech nebo jako součást složitějších aplikací uvnitř takzvaného sandboxu.
Pavel Tišnovský
11. 11. 2025
Doba čtení:
27 minut
Jádro povoluje rozšíření Microsoftu pro C
Linuxové jádro může být kompilováno pomocí GCC nebo LLVM/clang. Na tom se nic nemění. Nově jsou v obou překladačích povolena rozšíření Microsoftu pro hlavičkové soubory přepínačem -fms-extensions. To oba překladače podporují, ale linuxové jádro…
Jan Fikar
10. 11. 2025
Funkce vestavěné v GCC pro nalezení délky sekvence nulových bitů
Dnes si ukážeme další funkce vestavěné do GCC, jež slouží pro realizaci nízkoúrovňových operací. Zaměříme se na funkce umožnující ve vstupní hodnotě nalézt délku sekvence nulových bitů.
Pavel Tišnovský
28. 8. 2025
Doba čtení:
31 minut
Podpora SFrame míří do LLVM22
SFrame je moderní metoda, jak umožnit snadné ladění a profilování linuxových binárek bez použití ukazatele rámce (frame pointer). Při jeho použití přijdeme totiž o jeden registr a to má dopad na výkon. Jak jsme již psali, podpora SFrame míří do…
Jan Fikar
21. 7. 2025
Fedora diskutuje zrušení podpory i686, Ubuntu přidává varování o spotřebě
Fedora plánuje odstranit balíčky i686 a podporu Multilib. Ubuntu 24.04 LTS bude při úpravách funkcí správy napájení zobrazovat krátké upozornění týkající se spotřeby energie v souladu se směrnicí EU.
Filip Zatloukal
30. 6. 2025
Doba čtení:
2 minuty
Jádro 6.16 bude vyžadovat GCC-8 a Binutils-2.30
V současnosti je GCC-8 vyžadováno pro kompilaci jádra na architektuře x86. Nově od jádra 6.16 bude vyžadováno GCC-8 pro všechny architektury. Zároveň jsou požadovány Binutils-2.30. Alternativně je možné kompilovat pomocí LLVM Clang 13. GCC-8 je…
Jan Fikar
2. 6. 2025
LLVM 20.1 má překladač Fortranu flang
Překladač LLVM 20.1 vyšel minulý týden. Nová je podpora AMX (Advanced Matrix Extensions) AMX-AVX512 a AMX-FP8 pro Intel Diamond Rapids. Nová je také podpora instrukcí AVX10.2 také pro Diamond Rapids. Nově se překladač Fortranu již nejmenuje…
Jan Fikar
12. 3. 2025
Obsáhlé novinky v podpoře GPU AMD a Intel na cestě do jádra Linux 6.15
Dnešní přehled novinek chystaných pro jádro verze 6.15 není jako japonské jídlo. Vedle záplaty FineIBT-BHI věnujeme prostor novinkách chystaným specificky pro dva výrobce GPU s plnou otevřenou podporu v Linuxu, a to nejen pro RDNA4 a Battlemage.
David Ježek
7. 3. 2025
Doba čtení:
4 minuty
Vhsky.cz jako alternativa k YouTube, SvarDOS jako samostatný systém
Stalo se
Vznikl projekt VHSky.cz, komunitní platforma pro sdílení videí, postavená na otevřeném softwaru PeerTube. Ze SvarDOS se díky implementaci vlastního jádra stal samostatný open-source operační systém.
Filip Zatloukal
30. 12. 2024
Doba čtení:
3 minuty
Doom portován na GPU, běží přes AMD ROCm + LLVM libc
Že lze Doom engine portovat prakticky na cokoli, to už víme. Ostatně běží na zubních kartáčcích či těhotenských testech, takže udivit by neměl ani nejnovější počin vývojáře Josepha Hubera, který Doom rozběhal na GPU, téměř bez využití CPU. GPU…
David Ježek
1. 10. 2024
Fedora upouští od balíčků X11, FreeBSD zrychluje cyklus vydávání
Fedora má v plánu další omezení podpory X11 ve prospěch Waylandu. FreeBSD zrychluje cyklus vydávání a zkracuje dobu podpory. Tým OpenMandriva oznámil vydání OpenMandriva Lx 24.07 „Rome“ s KDE Plasma 6.1 a jádrem 6.10.
Filip Zatloukal
22. 7. 2024
Doba čtení:
2 minuty
LLVM špatně optimalizovalo celočíselné dělení na procesorech AMD
Uživatel Systemcluster z Tokia nahlásil chybu, kdy kód přeložený Clangem pro zenver4 běží na Zen4 o 25 % pomaleji než kód optimalizovaný obecně pro x86-64-v4 nebo x86-64. V kódu je Int64 dělení. Ukázalo se, že v případě procesoru AMD není zapnuta…
Jan Fikar
10. 5. 2024
LLVM/Clang možná přijde o -Ofast
Překladače GCC i Clang umožňují nastavit optimalizaci kódu v několika stupních od -O0 do -O3, přičemž standardní je -O2. K tomu kolem roku 2010 přibyla volba -Ofast , což je v podstatě -O3 -ffast-math. Ten druhý přepínač zrychluje výpočty…
Jan Fikar
3. 5. 2024
Minimalistické překladače jazyka C: tcc a Chibicc
Mezi nejčastěji používané překladače céčka na Linuxu patří GCC a Clang. Ovšem kromě těchto známých překladačů můžeme použít i takzvané „malé“ překladače, mezi které patří zejména Tiny C Compiler a taktéž Chibicc.
Pavel Tišnovský
21. 3. 2024
Doba čtení:
33 minut
Vcc: kompilátor používající Clang ke generování kódu pro Vulkan
Na Saarlandské univerzitě v Německu vznikl projekt Vcc (Vulkan Clang Compiler), což je kompilátor založený na Clangu, který vytváří kód běžící na Vulkanu. Lze jej považovat za konkurenta GLSL a HLSL, ale skutečným záměrem tohoto projektu je zcela…
Petr Krčmář
10. 1. 2024
Clang 17 je v průměru o 5 % rychlejší než GCC 13 na Meteor Lake
Clang 17 je v průměru o 5 % rychlejší než GCC 13 na Meteor Lake Server Phoronix včera přinesl testy kompilátorů GCC 13 a Clang 17 na notebookovém procesoru Intel Meteor Lake Core Ultra 7 155H. V průměru byl Clang rychlejší o asi 5 %. Předchozí…
Jan Fikar
5. 1. 2024
Vydány finální verze LLVM 17 a Clang 17
Na světě je nová velká verze LLVM + Clang. U LLVM jde rovnou o verzi 17.0.1 přinášející řadu novinek jako FatLTO pipeline, assembler pro AArch64 ARM 2022 A-profile extension (FEAT_GCS (Guarded Control Stacks), FEAT_CHK (Check Feature Status) a…
David Ježek
19. 9. 2023
1
–
30
/
100
První strana
Předchozí strana
1
2
3
4
Následující strana
Poslední strana
ŠKOLENÍ Proxmox: vytvořte si vlastní virtualizaci
VÍCE INFO
ČLÁNKY DO MAILU