āļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐāļ āļēāļĐāļēāļāļĢāļąāđˆāļ‡āđ€āļĻāļŠāļŠāđ€āļ›āļ™

Ad


āđ„āļ­āļ„āļ­āļ™ Fav āļ‚āļ­āļ‡ OnWorks

FileCheck-3.6 - āļ­āļ­āļ™āđ„āļĨāļ™āđŒāđƒāļ™āļ„āļĨāļēāļ§āļ”āđŒ

āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰ FileCheck-3.6 āđƒāļ™āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ‚āļŪāļŠāļ•āđŒāļŸāļĢāļĩāļ‚āļ­āļ‡ OnWorks āļœāđˆāļēāļ™ Ubuntu Online, Fedora Online, āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ‚āļ­āļ‡ Windows āļŦāļĢāļ·āļ­āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ‚āļ­āļ‡ MAC OS

āļ™āļĩāđˆāļ„āļ·āļ­āļ„āļģāļŠāļąāđˆāļ‡ FileCheck-3.6 āļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āđƒāļ™āļœāļđāđ‰āđƒāļŦāđ‰āļšāļĢāļīāļāļēāļĢāđ‚āļŪāļŠāļ•āđŒāļŸāļĢāļĩāļ‚āļ­āļ‡ OnWorks āđ‚āļ”āļĒāđƒāļŠāđ‰āļŦāļ™āļķāđˆāļ‡āđƒāļ™āđ€āļ§āļīāļĢāđŒāļāļŠāđ€āļ•āļŠāļąāļ™āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļŸāļĢāļĩāļ‚āļ­āļ‡āđ€āļĢāļē āđ€āļŠāđˆāļ™ Ubuntu Online, Fedora Online, āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ‚āļ­āļ‡ Windows āļŦāļĢāļ·āļ­āđ‚āļ›āļĢāđāļāļĢāļĄāļˆāļģāļĨāļ­āļ‡āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ‚āļ­āļ‡ MAC OS

āđ‚āļ„āļĢāļ‡āļāļēāļĢ:

āļŠāļ·āđˆāļ­


FileCheck - āļ•āļąāļ§āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒāļˆāļąāļšāļ„āļđāđˆāļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™

āđ€āļĢāļ·āđˆāļ­āļ‡āļĒāđˆāļ­


āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™ [--check-āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē=XXX] [--strict-āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡]

DESCRIPTION


āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āļ­āđˆāļēāļ™āļŠāļ­āļ‡āđ„āļŸāļĨāđŒ (āļŦāļ™āļķāđˆāļ‡āđ„āļŸāļĨāđŒāļˆāļēāļāļ­āļīāļ™āļžāļļāļ•āļĄāļēāļ•āļĢāļāļēāļ™ āđāļĨāļ°āļ­āļĩāļāđ„āļŸāļĨāđŒāļŦāļ™āļķāđˆāļ‡āļĢāļ°āļšāļļāđ„āļ§āđ‰āđƒāļ™āļšāļĢāļĢāļ—āļąāļ”āļ„āļģāļŠāļąāđˆāļ‡)
āđāļĨāļ°āđƒāļŠāđ‰āļ­āļąāļ™āļŦāļ™āļķāđˆāļ‡āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ­āļĩāļāļ­āļąāļ™āļŦāļ™āļķāđˆāļ‡ āļĨāļąāļāļĐāļ“āļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ™āļĩāđ‰āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļšāļŠāļļāļ”āļ—āļ”āļŠāļ­āļš
āļ‹āļķāđˆāļ‡āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļœāļĨāļĨāļąāļžāļ˜āđŒāļ‚āļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡ (āđ€āļŠāđˆāļ™ LLC) āļĄāļĩāļ„āļ§āļēāļĄāļ„āļēāļ”āļŦāļ§āļąāļ‡
āļ‚āđ‰āļ­āļĄāļđāļĨ (āđ€āļŠāđˆāļ™ movsd āļˆāļēāļ esp āļŦāļĢāļ·āļ­āļ­āļ°āđ„āļĢāļāđ‡āļ•āļēāļĄāļ—āļĩāđˆāļ™āđˆāļēāļŠāļ™āđƒāļˆ) āļ™āļĩāđˆāļāđ‡āļ„āļĨāđ‰āļēāļĒāļāļąāļ™
āļ—āļĩāđˆāļˆāļ°āđƒāļŠāđ‰ grepāđāļ•āđˆāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļąāļšāđƒāļŦāđ‰āđ€āļŦāļĄāļēāļ°āļŠāļĄāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāļ­āļīāļ™āļžāļļāļ•āļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢāđƒāļ™āđ„āļŸāļĨāđŒāđ€āļ”āļĩāļĒāļ§āđƒāļ™a
āļ„āļģāļŠāļąāđˆāļ‡āđ€āļ‰āļžāļēāļ°

āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™ file āļĢāļ°āļšāļļāđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĄāļĩāļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļˆāļ°āļˆāļąāļšāļ„āļđāđˆ āđ„āļŸāļĨāđŒ
āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ­āđˆāļēāļ™āļˆāļēāļāļ­āļīāļ™āļžāļļāļ•āļĄāļēāļ•āļĢāļāļēāļ™ āđ€āļ§āđ‰āļ™āđāļ•āđˆāļ§āđˆāļē --input-āđ„āļŸāļĨāđŒ āđƒāļŠāđ‰āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ

OPTIONS


-āļŠāđˆāļ§āļĒāļ”āđ‰āļ§āļĒ āļžāļīāļĄāļžāđŒāļŠāļĢāļļāļ›āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļšāļĢāļĢāļ—āļąāļ”āļ„āļģāļŠāļąāđˆāļ‡

--check-āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē āļ­āļļāļ›āļŠāļĢāļĢāļ„
FileCheck āļ„āđ‰āļ™āļŦāļēāđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ‚āļ­āļ‡ āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™ āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĨāļ§āļ”āļĨāļēāļĒāđ€āļ‚āđ‰āļēāļāļąāļ™ āđ‚āļ”āļĒ
āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ āļĢāļđāļ›āđāļšāļšāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļˆāļ°āļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒ "āļ•āļĢāļ§āļˆāļŠāļ­āļš:" āļŦāļēāļāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰ a
āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡āļāļąāļ™ (āđ€āļŠāđˆāļ™ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ„āļŸāļĨāđŒāļ­āļīāļ™āļžāļļāļ•āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļģāļĨāļąāļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļŦāļĨāļēāļĒāđ„āļŸāļĨāđŒāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™
āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŦāļĢāļ·āļ­āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ) the --check-āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āļĢāļ°āļšāļļāļŦāļ™āļķāđˆāļ‡āļŦāļĢāļ·āļ­āļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢ
āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ•āļĢāļ‡āļāļąāļš āļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļŦāļĨāļēāļĒāļ„āļģāļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāļ­āļēāļˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļŠāļģāļŦāļĢāļąāļš
āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļāļēāļĢāļĢāļąāļ™āļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™ āđāļ•āđˆāļšāļĢāļĢāļ—āļąāļ”āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāļĒāļąāļ‡āļ„āļ‡āđ€āļŦāļĄāļ·āļ­āļ™āđ€āļ”āļīāļĄ

--input-āđ„āļŸāļĨāđŒ āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒ
āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļˆāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļš (āļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ„āļ·āļ­ stdin)

--strict-āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡
āļ•āļēāļĄāļ„āđˆāļēāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™ FileCheck āļˆāļ°āļāļģāļŦāļ™āļ”āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āđāļ™āļ§āļ™āļ­āļ™āļ‚āļ­āļ‡āļ­āļīāļ™āļžāļļāļ• (āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āđāļĨāļ°āđāļ—āđ‡āļš)
āļ‹āļķāđˆāļ‡āļ—āļģāđƒāļŦāđ‰āļĨāļ°āđ€āļ§āđ‰āļ™āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ (āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āļˆāļ°āļ•āļĢāļ‡āļāļąāļšāđāļ—āđ‡āļš) NS
--strict-āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡ āļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļ›āļīāļ”āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļĨāļąāļāļĐāļ“āļ°āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ™āļĩāđ‰ āļĨāļģāļ”āļąāļšāļŠāļīāđ‰āļ™āļŠāļļāļ”āļšāļĢāļĢāļ—āļąāļ”āļ„āļ·āļ­
āļšāļąāļāļāļąāļ•āļīāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļŠāđ„āļ•āļĨāđŒ UNIX \n āđƒāļ™āļ—āļļāļāđ‚āļŦāļĄāļ”

--āđ‚āļ”āļĒāļ›āļĢāļīāļĒāļēāļĒ-āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš
āđ€āļžāļīāđˆāļĄāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļŠāļīāļ‡āļĨāļšāđ‚āļ”āļĒāļ™āļąāļĒāļŠāļģāļŦāļĢāļąāļšāļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļĢāļ°āļšāļļāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļšāļ§āļ
āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ™āļĩāđ‰āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āđ€āļ‚āļĩāļĒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāđ€āļ‚āđ‰āļĄāļ‡āļ§āļ”āļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļšāļĢāļĢāļˆāļļāļ”āđ‰āļ§āļĒ āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆs.

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™, "--āđ‚āļ”āļĒāļ›āļĢāļīāļĒāļēāļĒ-āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ āļ„āļģāđ€āļ•āļ·āļ­āļ™:" āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ§āļīāļ™āļīāļˆāļ‰āļąāļĒ
āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļˆāļēāļāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāđ„āļĄāđˆāļĄāļĩāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļ„āļĨāđ‰āļēāļĒāļāļąāļš āđ€āļŠāļĩāļĒāļ‡āļ”āļąāļ‡āļāļĢāļēāļ§ -āļ•āļĢāļ§āļˆāļŠāļ­āļš. āļ”āđ‰āļ§āļĒāļŠāļīāđˆāļ‡āļ™āļĩāđ‰
āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ FileCheck āļˆāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ­āļīāļ™āļžāļļāļ•āđ„āļĄāđˆāļĄāļĩāļ„āļģāđ€āļ•āļ·āļ­āļ™āļ—āļĩāđˆāđ„āļĄāđˆāļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāđ‚āļ”āļĒ
āđƒāļ” āļ•āļĢāļ§āļˆāļŠāļ­āļš: āļĢāļđāļ›āđāļšāļš

-version
āđāļŠāļ”āļ‡āļŦāļĄāļēāļĒāđ€āļĨāļ‚āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ‚āļ­āļ‡āđ‚āļ›āļĢāđāļāļĢāļĄāļ™āļĩāđ‰

EXIT āļŠāļ–āļēāļ™āļ āļēāļž


If āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāđ„āļŸāļĨāđŒāļ•āļĢāļ‡āļāļąāļšāđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ—āļĩāđˆāļ„āļēāļ”āđ„āļ§āđ‰ āļ­āļ­āļāļˆāļēāļāđ„āļŸāļĨāđŒāļ”āđ‰āļ§āļĒ 0
āļĄāļīāļ‰āļ°āļ™āļąāđ‰āļ™ āļ–āđ‰āļēāđ„āļĄāđˆāđƒāļŠāđˆ āļŦāļĢāļ·āļ­āđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ‚āļķāđ‰āļ™ āļĄāļąāļ™āļˆāļ°āļ­āļ­āļāļ”āđ‰āļ§āļĒāļ„āđˆāļēāļ—āļĩāđˆāđ„āļĄāđˆāđƒāļŠāđˆāļĻāļđāļ™āļĒāđŒ

āļāļēāļĢāļŠāļ­āļ™


āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āđāļĨāđ‰āļ§ FileCheck āļˆāļ°āđƒāļŠāđ‰āļˆāļēāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ–āļ”āļ–āļ­āļĒ LLVM āļ‹āļķāđˆāļ‡āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļšāļ™āļšāļĢāļĢāļ—āļąāļ” RUN āļ‚āļ­āļ‡
āļāļēāļĢāļ—āļ”āļŠāļ­āļš āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāđ† āļ‚āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰ FileCheck āļˆāļēāļāļšāļĢāļĢāļ—āļąāļ” RUN āļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļ”āļąāļ‡āļ™āļĩāđ‰:

; āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰: llvm-as < %s | llc -march=x86-64 | āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ %s

āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļ™āļĩāđ‰āļšāļ­āļāļ§āđˆāļēāļˆāļ°āđ„āļžāļžāđŒāđ„āļŸāļĨāđŒāļ›āļąāļˆāļˆāļļāļšāļąāļ™ ("%s") āđ€āļ‚āđ‰āļēāđ„āļ›āļ‚āđ‰āļēāļ‡āđƒāļ™ llvm-āđ€āļ›āđ‡āļ™, āļ—āđˆāļ­āļ—āļĩāđˆāđ€āļ‚āđ‰āļē LLCāđāļĨāđ‰āļ§
āļ—āđˆāļ­āļŠāđˆāļ‡āļ­āļ­āļāļ‚āļ­āļ‡ LLC āđ€āļ‚āđ‰āļēāđ„āļ› āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ. āļ‹āļķāđˆāļ‡āļŦāļĄāļēāļĒāļ„āļ§āļēāļĄāļ§āđˆāļē FileCheck āļˆāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļš
āļ­āļīāļ™āļžāļļāļ•āļĄāļēāļ•āļĢāļāļēāļ™ (āđ€āļ­āļēāļ•āđŒāļžāļļāļ• llc) āđ€āļ—āļĩāļĒāļšāļāļąāļšāļ­āļēāļĢāđŒāļāļīāļ§āđ€āļĄāļ™āļ•āđŒāļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĢāļ°āļšāļļ (āļ•āđ‰āļ™āļ‰āļšāļąāļš .NS
āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĢāļ°āļšāļļāđ‚āļ”āļĒ "%s") āđ€āļžāļ·āđˆāļ­āļ”āļđāļ§āđˆāļēāļĄāļąāļ™āļ—āļģāļ‡āļēāļ™āļ­āļĒāđˆāļēāļ‡āđ„āļĢ āļĄāļēāļ”āļđāļŠāđˆāļ§āļ™āļ—āļĩāđˆāđ€āļŦāļĨāļ·āļ­āļ‚āļ­āļ‡ .NS āđ„āļŸāļĨāđŒ
(āļŦāļĨāļąāļ‡āđ€āļŠāđ‰āļ™ RUN):

āļāļģāļŦāļ™āļ”āđ€āļ›āđ‡āļ™āđ‚āļĄāļ†āļ° @sub1(i32* %p, i32 %v) {
āļĢāļēāļĒāļāļēāļĢ:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: sub1:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: subl
%0 = āļāļēāļĢāđ‚āļ—āļĢāļŦāļēāļ‡ i32 @llvm.atomic.load.sub.i32.p0i32(i32* %p, i32 %v)
āđ€āļĨāļīāļāđ€āļ›āđ‡āļ™āđ‚āļĄāļ†āļ°
}

āļāļģāļŦāļ™āļ”āđ€āļ›āđ‡āļ™āđ‚āļĄāļ†āļ° @ inc4 (i64* %p) {
āļĢāļēāļĒāļāļēāļĢ:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: inc4:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: incq
%0 = āđ€āļĢāļĩāļĒāļāļŦāļēāļ‡ i64 @llvm.atomic.load.add.i64.p0i64(i64* %p, i64 1)
āđ€āļĨāļīāļāđ€āļ›āđ‡āļ™āđ‚āļĄāļ†āļ°
}

āļ—āļĩāđˆāļ™āļĩāđˆāļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļŦāđ‡āļ™āļšāļēāļ‡āļŠāđˆāļ§āļ™ "āļ•āļĢāļ§āļˆāļŠāļ­āļš:" āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļĢāļ°āļšāļļāđƒāļ™āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ āļ•āļ­āļ™āļ™āļĩāđ‰āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļ”āļđāđ„āļ”āđ‰āļ§āđˆāļēāđ„āļŸāļĨāđŒāđ€āļ›āđ‡āļ™āļ­āļĒāđˆāļēāļ‡āđ„āļĢ
āļ–āļđāļāļ—āđˆāļ­āđ€āļ‚āđ‰āļēāđ„āļ›āđƒāļ™ llvm-āđ€āļ›āđ‡āļ™āđāļĨāđ‰āļ§ LLCāđāļĨāļ°āļœāļĨāļĨāļąāļžāļ˜āđŒāļ‚āļ­āļ‡āļĢāļŦāļąāļŠāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāđ€āļĢāļēāļāļģāļĨāļąāļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļš
FileCheck āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ­āļēāļ•āđŒāļžāļļāļ•āļĢāļŦāļąāļŠāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļ•āļĢāļ‡āļāļąāļš "āļ•āļĢāļ§āļˆāļŠāļ­āļš:" āđ€āļŠāđ‰āļ™
āļĢāļ°āļšāļļ.

āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļ‚āļ­āļ‡ "āļ•āļĢāļ§āļˆāļŠāļ­āļš:" āļšāļĢāļĢāļ—āļąāļ”āļ™āļąāđ‰āļ™āļ‡āđˆāļēāļĒāļĄāļēāļ: āđ€āļ›āđ‡āļ™āļŠāļ•āļĢāļīāļ‡āļ„āļ‡āļ—āļĩāđˆāļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āđƒāļ™
āļ„āļģāļŠāļąāđˆāļ‡. FileCheck āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļĩāđˆāļˆāļ°āļĨāļ°āđ€āļ§āđ‰āļ™āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ‚āļ­āļ‡āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āđƒāļ™āđāļ™āļ§āļ™āļ­āļ™ (āđ€āļŠāđˆāļ™ āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡ is
āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļˆāļąāļšāļ„āļđāđˆāđāļ—āđ‡āļš) āđāļ•āđˆāļĄāļīāļ‰āļ°āļ™āļąāđ‰āļ™ āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ‚āļ­āļ‡ "āļ•āļĢāļ§āļˆāļŠāļ­āļš:" āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļšāļĢāļĢāļ—āļąāļ”āđ€āļžāļ·āđˆāļ­
āļˆāļąāļšāļ„āļđāđˆāļšāļēāļ‡āļŠāļīāđˆāļ‡āđƒāļ™āđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāļ—āļļāļāļ›āļĢāļ°āļāļēāļĢ

āļŠāļīāđˆāļ‡āļŦāļ™āļķāđˆāļ‡āļ—āļĩāđˆāļ”āļĩāđ€āļāļĩāđˆāļĒāļ§āļāļąāļš FileCheck (āđ€āļ—āļĩāļĒāļšāļāļąāļš grep) āļ„āļ·āļ­āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļĢāļ§āļĄāļāļĢāļ“āļĩāļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰
āļĢāļ§āļĄāļāļąāļ™āđ€āļ›āđ‡āļ™āļāļĨāļļāđˆāļĄāļ•āļĢāļĢāļāļ° āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‚āđ‰āļēāļ‡āļ•āđ‰āļ™āđ€āļ›āđ‡āļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŦāļē
"āļĒāđˆāļ­āļĒ1:"āđāļĨāļ°"āļĢāļ§āļĄ4:" āļ›āđ‰āļēāļĒāļāļģāļāļąāļšāļˆāļ°āđ„āļĄāđˆāļ•āļĢāļ‡āļāļąāļ™āđ€āļ§āđ‰āļ™āđāļ•āđˆāļˆāļ°āļĄāļĩ "āļĒāđˆāļ­āļĒ"āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ™āļąāđ‰āļ™
āļ‰āļĨāļēāļ āļŦāļēāļāļĄāļĩāļ­āļĒāļđāđˆāļ—āļĩāđˆāļ­āļ·āđˆāļ™āđƒāļ™āđ„āļŸāļĨāđŒ āļˆāļ°āđ„āļĄāđˆāļ™āļąāļš: "grep āļĒāđˆāļ­āļĒ"
āļ•āļĢāļ‡āļāļąāļ™āļ–āđ‰āļē "āļĒāđˆāļ­āļĒ" āļ­āļĒāļđāđˆāļ—āļĩāđˆāđƒāļ”āļāđ‡āđ„āļ”āđ‰āđƒāļ™āđ„āļŸāļĨāđŒ

āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ -check-āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē āļ•āļąāļ§āđ€āļĨāļ·āļ­āļ
āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ -check-āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē āļ•āļąāļ§āđ€āļĨāļ·āļ­āļāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļ‚āļąāļšāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ„āļ”āđ‰āļŦāļĨāļēāļĒāđāļšāļšāļˆāļēāļ
āļŦāļ™āļķāđˆāļ‡ .NS āđ„āļŸāļĨāđŒ. āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđƒāļ™āļŦāļĨāļēāļĒ āđ† āļŠāļ–āļēāļ™āļāļēāļĢāļ“āđŒ āđ€āļŠāđˆāļ™ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™
āļ•āļąāļ§āđāļ›āļĢāļ—āļēāļ‡āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ”āđ‰āļ§āļĒ LLC. āļ™āļĩāđˆāđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāđ†:

; āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰: llvm-as < %s | llc -mtriple=i686-apple-darwin9 -mattr=sse41 \
; āļ§āļīāđˆāļ‡: | FileCheck %s -check-prefix=X32
; āđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰: llvm-as < %s | llc -mtriple=x86_64-apple-darwin9 -mattr=sse41 \
; āļ§āļīāđˆāļ‡: | FileCheck %s -check-prefix=X64

āļāļģāļŦāļ™āļ” <4 x i32> @pinsrd_1 (i32 %s, <4 x i32> %tmp) āļ„āļģāļ™āļēāļĄ {
%tmp1 = āļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāđāļ—āļĢāļ <4 x i32>; %tmp, i32 %s, i32 1
āļĒāđ‰āļ­āļ™ <4 x i32> %tmp1
; X32: āļŦāļĄāļļāļ”rd_1:
; X32: āļŦāļĄāļļāļ” $1, 4(%esp), %xmm0

; X64: āļŦāļĄāļļāļ”rd_1:
; X64: āļŦāļĄāļļāļ” $1, %edi, %xmm0
}

āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰ āđ€āļĢāļēāļāļģāļĨāļąāļ‡āļ—āļ”āļŠāļ­āļšāļ§āđˆāļēāđ€āļĢāļēāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāļ„āļēāļ”āļŦāļ§āļąāļ‡āļ”āđ‰āļ§āļĒāļ—āļąāđ‰āļ‡āđāļšāļš 32 āļšāļīāļ•āđāļĨāļ°
āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļĢāļŦāļąāļŠ 64 āļšāļīāļ•

āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: āļ„āļģāļŠāļąāđˆāļ‡
āļšāļēāļ‡āļ„āļĢāļąāđ‰āļ‡āļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāļšāļĢāļĢāļ—āļąāļ”āđāļĨāļ°āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļ•āļĢāļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡āļāļąāļ™āđ‚āļ”āļĒāđ„āļĄāđˆāļĄāļĩāļšāļĢāļĢāļ—āļąāļ”āļ­āļ·āđˆāļ™āļ„āļąāđˆāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļžāļ§āļāđ€āļ‚āļē āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ "āļ•āļĢāļ§āļˆāļŠāļ­āļš:"
āđāļĨāļ° "āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›:" āļ„āļģāļŠāļąāđˆāļ‡āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļŠāļīāđˆāļ‡āļ™āļĩāđ‰ āļŦāļēāļāļ„āļļāļ“āļĢāļ°āļšāļļāļ„āļģāļ™āļģāļŦāļ™āđ‰āļēāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡
āđ€āļžāļĩāļĒāļ‡āđāļ„āđˆāđƒāļŠāđ‰ "-āļ•āđˆāļ­āđ„āļ›:" āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āđƒāļŠāđ‰āđ„āļ”āđ‰āļœāļĨāļ•āļēāļĄāļ—āļĩāđˆāļ„āļļāļ“āļ„āļēāļ”āļŦāļ§āļąāļ‡:

āļāļģāļŦāļ™āļ”āđ€āļ›āđ‡āļ™āđ‚āļĄāļ†āļ° @t2(<2 x double>* %r, <2 x double>* %A, double %B) {
%tmp3 = āđ‚āļŦāļĨāļ” <2 x double>* %A, āļˆāļąāļ”āļ•āļģāđāļŦāļ™āđˆāļ‡ 16
%tmp7 = āļāļēāļĢāđāļ—āļĢāļ <2 x double> undef, double %B, i32 0
%tmp9 = āļŠāļąāļšāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ€āļ§āļāđ€āļ•āļ­āļĢāđŒ <2 x āļŠāļ­āļ‡āđ€āļ—āđˆāļē> %tmp3,
<2 x āļŠāļ­āļ‡āđ€āļ—āđˆāļē> %tmp7,
<2 x i32> < i32 0, i32 2 >
āđ€āļāđ‡āļš <2 x double> %tmp9, <2 x double>* %r, āļˆāļąāļ”āļ•āļģāđāļŦāļ™āđˆāļ‡ 16
āđ€āļĨāļīāļāđ€āļ›āđ‡āļ™āđ‚āļĄāļ†āļ°

; āļ•āļĢāļ§āļˆāļŠāļ­āļš: t2:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: movl 8(%esp), %eax
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: movapd (%eax), %xmm0
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: movhpd 12(%esp), %xmm0
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: movl 4(%esp), %eax
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: movapd %xmm0, (%eax)
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: āļĒāđ‰āļ­āļ™āļāļĨāļąāļš
}

"āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›:" āļ„āļģāļŠāļąāđˆāļ‡āļ›āļāļīāđ€āļŠāļ˜āļ­āļīāļ™āļžāļļāļ•āđ€āļ§āđ‰āļ™āđāļ•āđˆāļˆāļ°āļĄāļĩāļāļēāļĢāļ‚āļķāđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļĄāļąāļ™
āđāļĨāļ°āļ„āļģāļŠāļąāđˆāļ‡āļāđˆāļ­āļ™āļŦāļ™āđ‰āļēāļ™āļĩāđ‰ NS "āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›:" āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āđāļĢāļāđƒāļ™āđ„āļŸāļĨāđŒāđ„āļ”āđ‰

āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ: āļ„āļģāļŠāļąāđˆāļ‡
"āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ:" directive āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļ•āļĢāļīāļ‡āđ„āļĄāđˆāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāļ­āļ‡
āļāļēāļĢāđāļ‚āđˆāļ‡āļ‚āļąāļ™ (āļŦāļĢāļ·āļ­āļāđˆāļ­āļ™āļ™āļąāļ”āđāļĢāļāļŦāļĢāļ·āļ­āļŦāļĨāļąāļ‡āļ™āļąāļ”āļŠāļļāļ”āļ—āđ‰āļēāļĒ) āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āđ€āļžāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē
āđ‚āļŦāļĨāļ”āļˆāļ°āļ–āļđāļāļĨāļšāļ­āļ­āļāđ‚āļ”āļĒāļāļēāļĢāđāļ›āļĨāļ‡ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđ€āļŠāđˆāļ™āļ™āļĩāđ‰āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ„āļ”āđ‰:

āļāļģāļŦāļ™āļ” i8 @coerce_offset0 (i32 %V, i32* %P) {
āđ€āļāđ‡āļš i32 %V, i32* %P

%P2 = āļšāļīāļ•āļ„āļēāļŠāļ•āđŒ i32* %P āļ–āļķāļ‡ i8*
%P3 = āļĢāļąāļšāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļš ptr i8* %P2, i32 2

%A = āđ‚āļŦāļĨāļ” i8* %P3
āļĒāļāđ€āļĨāļīāļ i8 %A
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: @coerce_offset0
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ: āđ‚āļŦāļĨāļ”
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: āļĒāļāđ€āļĨāļīāļ i8
}

āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļ„āļģāļŠāļąāđˆāļ‡
āļŦāļēāļāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļˆāļąāļšāļ„āļđāđˆāļŠāļ•āļĢāļīāļ‡āļ—āļĩāđˆāđ„āļĄāđˆāđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ­āļĒāđˆāļēāļ‡āđ€āļ‚āđ‰āļĄāļ‡āļ§āļ”
"āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG:" āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļ”āđ‰āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāļ­āļ‡āļ™āļąāļ” (āļŦāļĢāļ·āļ­āļāđˆāļ­āļ™āļ™āļąāļ”āđāļĢāļ
āļŦāļĢāļ·āļ­āļŦāļĨāļąāļ‡āļāļēāļĢāđāļ‚āđˆāļ‡āļ‚āļąāļ™āļ™āļąāļ”āļ—āļĩāđˆāđāļĨāđ‰āļ§) āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ clang āļ›āļĨāđˆāļ­āļĒ vtable globals āđƒāļ™āļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļāļĨāļąāļšāļāļąāļ™ āđ‚āļ”āļĒāđƒāļŠāđ‰
āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG:āđ€āļĢāļēāļŠāļēāļĄāļēāļĢāļ–āđ€āļāđ‡āļšāđ€āļŠāđ‡āļ„āđ„āļ§āđ‰āđƒāļ™āļĨāļģāļ”āļąāļšāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ˜āļĢāļĢāļĄāļŠāļēāļ•āļīāđ„āļ”āđ‰:

// āļ§āļīāđˆāļ‡: %clang_cc1 %s -emit-llvm -o - | āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ %s

struct Foo { āļ§āļīāļ˜āļĩāļāļēāļĢāđ‚āļĄāļ†āļ°āđ€āļŠāļĄāļ·āļ­āļ™ (); };
āļŸāļđāļŸ; // āļ›āļĨāđˆāļ­āļĒ vtable
// āđ€āļŠāđ‡āļ„āđāļ”āđ‡āļ: @_ZTV3Foo =

struct Bar { āļ§āļīāļ˜āļĩāļāļēāļĢāđ‚āļĄāļ†āļ°āđ€āļŠāļĄāļ·āļ­āļ™ (); };
āļšāļēāļĢāđŒāļ‚;
// āđ€āļŠāđ‡āļ„āđāļ”āđ‡āļ: @_ZTV3Bar =

āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ: āļ„āļģāļŠāļąāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–āļœāļŠāļĄāļāļąāļš āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļ„āļģāļŠāļąāđˆāļ‡āļ—āļĩāđˆāļˆāļ°āđāļĒāļāļŠāļ•āļĢāļīāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡
āđ‚āļ”āļĒāļĢāļ­āļš āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļ„āļģāļŠāļąāđˆāļ‡ āļŠāđˆāļ‡āļœāļĨāđƒāļŦāđ‰āļšāļĢāļīāđ€āļ§āļ“āđ‚āļ”āļĒāļĢāļ­āļš āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļŠāļąāđˆāļ‡
āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļ”āļĨāļģāļ”āļąāļšāđƒāļŦāļĄāđˆāđ„āļ”āđ‰ āļāļĨāđˆāļēāļ§āļ„āļ·āļ­ āļ•āļĢāļ‡āļāļąāļ™āļ—āļļāļāļĢāļēāļĒāļāļēāļĢ āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļāđˆāļ­āļ™ āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ: āļˆāļ°āļ•āđ‰āļ­āļ‡āđ„āļĄāđˆ
āļ­āļĒāļđāđˆāđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡āđ€āļŦāļ•āļļāļāļēāļĢāļ“āđŒāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™ āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļŦāļĨāļąāļ‡āļˆāļēāļ āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ:. āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™

; āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļāđˆāļ­āļ™
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ: āđ„āļĄāđˆ
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļŦāļĨāļąāļ‡āļˆāļēāļ

āļāļĢāļ“āļĩāļ™āļĩāđ‰āļˆāļ°āļ›āļāļīāđ€āļŠāļ˜āļŠāļ•āļĢāļīāļ‡āļ­āļīāļ™āļžāļļāļ•āđ‚āļ”āļĒāļ—āļĩāđˆ āļāđˆāļ­āļ™ āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļŦāļĨāļąāļ‡āļˆāļēāļ āļŦāļĨāļąāļ‡.

āļ”āđ‰āļ§āļĒāļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļˆāļąāļšāđ„āļ”āđ‰ āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļšāļ„āļđāđˆāļāļēāļĢāđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ—āļ­āļžāļ­āđ‚āļĨāļĒāļĩāļ—āļĩāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡āļ‚āļ­āļ‡ DAG
āļĄāļĩāļ‚āļ­āļšāļ•āļąāđ‰āļ‡āđāļ•āđˆāļ„āļģāļˆāļģāļāļąāļ”āļ„āļ§āļēāļĄāļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢāļˆāļ™āļ–āļķāļ‡āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™ āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒ āđ€āļŠāđˆāļ™ āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“
āļāļĢāļ“āļĩāļ—āļ”āļŠāļ­āļšāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļˆāļąāļšāļ„āļđāđˆāļĨāļģāļ”āļąāļšāđ€āļ­āļēāļ•āđŒāļžāļļāļ•āļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļˆāļēāļāļ•āļąāļ§āļāļģāļŦāļ™āļ”āļ•āļēāļĢāļēāļ‡āđ€āļ§āļĨāļēāļ„āļģāļŠāļąāđˆāļ‡ āļŠāļģāļŦāļĢāļąāļš
āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡,

; āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āđ€āļžāļīāđˆāļĄ [[REG1:r[0-9]+]], r1, r2
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āđ€āļžāļīāđˆāļĄ [[REG2:r[0-9]+]], r3, r4
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: mul r5, [[REG1]], [[REG2]]

āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰ āļĨāļģāļ”āļąāļšāđƒāļ”āđ† āļ‚āļ­āļ‡āļŠāļ­āļ‡āļ•āļąāļ§āļ™āļąāđ‰āļ™ āđ€āļžāļīāđˆāļĄ āļ„āļģāđāļ™āļ°āļ™āļģāļˆāļ°āđ„āļ”āđ‰āļĢāļąāļšāļ­āļ™āļļāļāļēāļ•

āļŦāļēāļāļ„āļļāļ“āļāļģāļĨāļąāļ‡āļāļģāļŦāļ™āļ” āđāļĨāļ° āđ‚āļ”āļĒāđƒāļŠāđ‰āļ•āļąāļ§āđāļ›āļĢāđƒāļ™āļ•āļąāļ§āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: āļšāļĨāđ‡āļ­āļ āđ‚āļ›āļĢāļ”āļ—āļĢāļēāļšāļ§āđˆāļē
āļāļŽāļ„āļģāļˆāļģāļāļąāļ”āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļšāļ„āļđāđˆāđ„āļ”āđ‰ āļŦāļĨāļąāļ‡āļˆāļēāļ āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™ āļĢāļŦāļąāļŠāļ”āđ‰āļēāļ™āļĨāđˆāļēāļ‡āļˆāļ°āļœāđˆāļēāļ™:

; āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: vmov.32 [[REG2:d[0-9]+]][0]
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: vmov.32 [[REG2]][1]
vmov.32 d0 [1]
vmov.32 d0 [0]

āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāļĢāļŦāļąāļŠāļ­āļ·āđˆāļ™āļ™āļĩāđ‰ āļˆāļ°āđ„āļĄāđˆ:

; āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: vmov.32 [[REG2:d[0-9]+]][0]
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-DAG: vmov.32 [[REG2]][1]
vmov.32 d1 [1]
vmov.32 d0 [0]

āđāļĄāđ‰āļ§āđˆāļēāļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļˆāļ°āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļĄāļēāļ āđāļ•āđˆāļāđ‡āļ­āļąāļ™āļ•āļĢāļēāļĒāđ€āļŠāđˆāļ™āļāļąāļ™āđ€āļžāļĢāļēāļ°āđƒāļ™āļāļĢāļ“āļĩāļ‚āļ­āļ‡āļāļēāļĢāļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™
āļĨāļģāļ”āļąāļš āļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļĄāļĩāļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™ (āļ­āđˆāļēāļ™āļāđˆāļ­āļ™āđ€āļ‚āļĩāļĒāļ™ āļ„āļąāļ”āļĨāļ­āļāļāđˆāļ­āļ™āđƒāļŠāđ‰āļ‡āļēāļ™ āļŊāļĨāļŊ) āļ–āđ‰āļē
āļ„āļģāļˆāļģāļāļąāļ”āļ„āļ§āļēāļĄāļ—āļĩāđˆāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‚āļ­āļ‡āļ„āļļāļ“āļāļģāļĨāļąāļ‡āļĄāļ­āļ‡āļŦāļēāđ„āļĄāđˆāļ•āļĢāļ‡āļāļąāļ™ (āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļ‚āđ‰āļ­āļšāļāļžāļĢāđˆāļ­āļ‡āđƒāļ™āļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ) āļĄāļąāļ™
āļ­āļēāļˆāļˆāļąāļšāļ„āļđāđˆāļŦāđˆāļēāļ‡āļˆāļēāļāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļĄāļēāļāļ‚āļķāđ‰āļ™āđāļĨāļ°āļ›āļīāļ”āļšāļąāļ‡āļ‚āđ‰āļ­āļšāļāļžāļĢāđˆāļ­āļ‡āļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡āļ­āļ­āļāđ„āļ›

āđƒāļ™āļāļĢāļ“āļĩāļ”āļąāļ‡āļāļĨāđˆāļēāļ§ āđƒāļ™āļāļēāļĢāļšāļąāļ‡āļ„āļąāļšāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ āđƒāļŦāđ‰āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ non-DAG āļĢāļ°āļŦāļ§āđˆāļēāļ‡ DAG-block

āļžāļ·āđ‰āļ™āļ—āļĩāđˆ āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ›āđ‰āļēāļĒāļāļģāļāļąāļš: āļ„āļģāļŠāļąāđˆāļ‡
āļšāļēāļ‡āļ„āļĢāļąāđ‰āļ‡āđƒāļ™āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļĄāļĩāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢāđāļšāđˆāļ‡āļ­āļ­āļāđ€āļ›āđ‡āļ™āļšāļĨāđ‡āļ­āļāļĨāļ­āļˆāļīāļ„āļąāļĨ āļ­āļĒāđˆāļēāļ‡āļ™āđ‰āļ­āļĒāļŦāļ™āļķāđˆāļ‡āļšāļĨāđ‡āļ­āļ
āļ•āļĢāļ§āļˆāļŠāļ­āļš: āļ„āļģāļŠāļąāđˆāļ‡āļ­āļēāļˆāļŠāļģāđ€āļĢāđ‡āļˆāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āļąāđ‰āļ‡āđƒāļˆāđ‚āļ”āļĒāļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāļšāļĢāļĢāļ—āļąāļ”āđƒāļ™āļšāļĨāđ‡āļ­āļāļ āļēāļĒāļŦāļĨāļąāļ‡ āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ an
āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļĄāļąāļāļˆāļ°āļ–āļđāļāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āđƒāļ™āļ—āļĩāđˆāļŠāļļāļ” āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ—āļĩāđˆāļ–āļđāļāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļŠāļ–āļēāļ™āļ°āđ€āļ›āđ‡āļ™āļŠāļēāđ€āļŦāļ•āļļāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ­āļēāļˆāđ„āļĄāđˆ
āļˆāļĢāļīāļ‡ āđ† āđāļĨāđ‰āļ§āļĄāļĩāļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļāļąāļšāđāļŦāļĨāđˆāļ‡āļ—āļĩāđˆāļĄāļēāļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡āļ‚āļ­āļ‡āļ›āļąāļāļŦāļē

āđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āđ€āļāļīāļ”āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļĩāđˆāļ”āļĩāļ‚āļķāđ‰āļ™āđƒāļ™āļāļĢāļ“āļĩāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰ "āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ›āđ‰āļēāļĒāļāļģāļāļąāļš:" āļ„āļģāļŠāļąāđˆāļ‡āļŠāļēāļĄāļēāļĢāļ–
āļ–āļđāļāļ™āļģāļĄāļēāđƒāļŠāđ‰ āļĄāļąāļ™āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļāļīāļšāļąāļ•āļīāđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™āļāļąāļšāļ›āļāļ•āļī āļ•āļĢāļ§āļˆāļŠāļ­āļš āļ„āļģāļŠāļąāđˆāļ‡āļĒāļāđ€āļ§āđ‰āļ™āļ§āđˆāļē FileCheck āļ—āļģāđƒāļŦāđ‰
āļŠāļĄāļĄāļ•āļīāļāļēāļ™āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāļ§āđˆāļēāļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļšāļ„āļģāļŠāļąāđˆāļ‡āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļšāļ„āļđāđˆāđ‚āļ”āļĒ
āđ€āļŠāđ‡āļ„āļ­āļ·āđˆāļ™ āđ† āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™ āļŠāļ·āđˆāļ­āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™; āļ™āļĩāđ‰āļĄāļĩāđ„āļ§āđ‰āļŠāļģāļŦāļĢāļąāļšāđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāđ€āļŠāđ‰āļ™
āļĄāļĩāļ›āđ‰āļēāļĒāļāļģāļāļąāļšāļŦāļĢāļ·āļ­āļ•āļąāļ§āļĢāļ°āļšāļļāļ—āļĩāđˆāđ„āļĄāđˆāļ‹āđ‰āļģāļāļąāļ™āļ­āļ·āđˆāļ™āđ† āļ•āļēāļĄāđāļ™āļ§āļ„āļīāļ” āļāļēāļĢāļĄāļĩāļ­āļĒāļđāđˆāļ‚āļ­āļ‡ āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ‰āļĨāļēāļ
āđāļšāđˆāļ‡āļāļĢāļ°āđāļŠāļ­āļīāļ™āļžāļļāļ•āļ­āļ­āļāđ€āļ›āđ‡āļ™āļšāļĨāđ‡āļ­āļāđāļĒāļāļāļąāļ™āļ‹āļķāđˆāļ‡āđāļ•āđˆāļĨāļ°āļ­āļąāļ™āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ­āļĒāđˆāļēāļ‡āļ­āļīāļŠāļĢāļ°
āļ›āđ‰āļ­āļ‡āļāļąāļ™ āļ•āļĢāļ§āļˆāļŠāļ­āļš: āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļšāļĨāđ‡āļ­āļāļŦāļ™āļķāđˆāļ‡āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļšāļšāļĢāļĢāļ—āļąāļ”āđƒāļ™āļ­āļĩāļāļšāļĨāđ‡āļ­āļāļŦāļ™āļķāđˆāļ‡ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™,

āļāļģāļŦāļ™āļ” %struct.C* @C_ctor_base(%struct.C* % this, i32 %x) {
āļĢāļēāļĒāļāļēāļĢ:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ›āđ‰āļēāļĒāļāļģāļāļąāļš: C_ctor_base:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: mov [[āļšāļąāļ™āļ—āļķāļ:r[0-9]+]], r0
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: bl A_ctor_base
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: mov r0, [[āļšāļąāļ™āļ—āļķāļ]]
%0 = bitcast %struct.C* % āļ™āļĩāđˆāļ–āļķāļ‡ %struct.A*
%call = āļāļēāļĢāđ‚āļ—āļĢāļŦāļēāļ‡ %struct.A* @A_ctor_base(%struct.A* %0)
%1 = bitcast %struct.C* %āļ™āļĩāđ‰āļ–āļķāļ‡ %struct.B*
%call2 = āļāļēāļĢāđ‚āļ—āļĢāļŦāļēāļ‡ %struct.B* @B_ctor_base(%struct.B* %1, i32 %x)
āļĒāļāđ€āļĨāļīāļ %struct.C* %āļ™āļĩāđ‰
}

āļāļģāļŦāļ™āļ” %struct.D* @D_ctor_base(%struct.D* % this, i32 %x) {
āļĢāļēāļĒāļāļēāļĢ:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ›āđ‰āļēāļĒāļāļģāļāļąāļš: D_ctor_base:

āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ‚āļ­āļ‡ āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ›āđ‰āļēāļĒāļāļģāļāļąāļš: āļ„āļģāļŠāļąāđˆāļ‡āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰āļĄāļąāđˆāļ™āđƒāļˆāđ„āļ”āđ‰āļ§āđˆāļēāļŠāļēāļĄ āļ•āļĢāļ§āļˆāļŠāļ­āļš: āļŠāļąāđˆāļ‡
āļĒāļ­āļĄāļĢāļąāļšāđ€āļ‰āļžāļēāļ°āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļšāđ€āļ™āļ·āđ‰āļ­āļŦāļēāļ‚āļ­āļ‡ @C_ctor_base āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ āđāļĄāđ‰āļ§āđˆāļē
āļĢāļđāļ›āđāļšāļšāļ•āļĢāļ‡āļāļąāļšāļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļžāļšāđƒāļ™āđ„āļŸāļĨāđŒāđƒāļ™āļ āļēāļĒāļŦāļĨāļąāļ‡ āļ™āļ­āļāļˆāļēāļāļ™āļĩāđ‰ āļŦāļēāļāļŦāļ™āļķāđˆāļ‡āđƒāļ™āļŠāļēāļĄāļ‚āđ‰āļ­āļ™āļĩāđ‰ āļ•āļĢāļ§āļˆāļŠāļ­āļš:
āļ„āļģāļŠāļąāđˆāļ‡āļĨāđ‰āļĄāđ€āļŦāļĨāļ§ FileCheck āļˆāļ°āļāļđāđ‰āļ„āļ·āļ™āđ‚āļ”āļĒāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ•āđˆāļ­āđ„āļ›āļĒāļąāļ‡āļšāļĨāđ‡āļ­āļāļ–āļąāļ”āđ„āļ› āļ­āļ™āļļāļāļēāļ•āļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢ
āļ•āļĢāļ§āļˆāļžāļšāļ„āļ§āļēāļĄāļĨāđ‰āļĄāđ€āļŦāļĨāļ§āđƒāļ™āļāļēāļĢāļ—āļ”āļŠāļ­āļšāđƒāļ™āļāļēāļĢāđ€āļĢāļĩāļĒāļāđƒāļŠāđ‰āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§

āđ„āļĄāđˆāļĄāļĩāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āļ§āđˆāļē āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ›āđ‰āļēāļĒāļāļģāļāļąāļš: āļ„āļģāļŠāļąāđˆāļ‡āļĄāļĩāļŠāļ•āļĢāļīāļ‡āļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļš
āļ›āđ‰āļēāļĒāļāļģāļāļąāļšāļ§āļēāļāļĒāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļ—āļĩāđˆāđāļ—āđ‰āļˆāļĢāļīāļ‡āđƒāļ™āļ āļēāļĐāļēāļ•āđ‰āļ™āļ—āļēāļ‡āļŦāļĢāļ·āļ­āļ āļēāļĐāļēāļ—āļĩāđˆāļŠāđˆāļ‡āļ­āļ­āļ: āļ•āđ‰āļ­āļ‡āļˆāļąāļšāļ„āļđāđˆāđ€āļ‰āļžāļēāļ° a . āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™
āļšāļĢāļĢāļ—āļąāļ”āđ€āļ”āļĩāļĒāļ§āđƒāļ™āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļāļģāļĨāļąāļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļš

āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ›āđ‰āļēāļĒāļāļģāļāļąāļš: āļ„āļģāļŠāļąāđˆāļ‡āļ•āđ‰āļ­āļ‡āđ„āļĄāđˆāļĄāļĩāļ„āļģāļˆāļģāļāļąāļ”āļ„āļ§āļēāļĄāļŦāļĢāļ·āļ­āļāļēāļĢāđƒāļŠāđ‰āļ•āļąāļ§āđāļ›āļĢ

āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āđāļšāļšāđāļœāļ™ āđāļĄāđ‡āļ—āļŠāļīāđˆāļ‡ āļ§āļēāļāļĒāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒ
"āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš:"āđāļĨāļ°"āļ•āļĢāļ§āļˆāļŠāļ­āļš-āđ„āļĄāđˆ:" āļ„āļģāļŠāļąāđˆāļ‡āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđƒāļŠāđ‰āļĢāļđāļ›āđāļšāļšāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļ•āļĢāļ‡āļāļąāļ™ āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ
FileCheck āļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāļŠāļ•āļĢāļīāļ‡āļ„āļ‡āļ—āļĩāđˆāļāđ‡āđ€āļžāļĩāļĒāļ‡āļžāļ­āđāļĨāđ‰āļ§ āļŠāļģāļŦāļĢāļąāļšāļšāļēāļ‡āļŠāļīāđˆāļ‡ āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ
āļ•āđ‰āļ­āļ‡āļāļēāļĢāļĢāļđāļ›āđāļšāļšāļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāļ—āļĩāđˆāļĒāļ·āļ”āļŦāļĒāļļāđˆāļ™ āđ€āļžāļ·āđˆāļ­āļĢāļ­āļ‡āļĢāļąāļšāļŠāļīāđˆāļ‡āļ™āļĩāđ‰ FileCheck āđƒāļŦāđ‰āļ„āļļāļ“āļĢāļ°āļšāļļ
āļ™āļīāļžāļˆāļ™āđŒāļ—āļąāđˆāļ§āđ„āļ›āđƒāļ™āļŠāļ•āļĢāļīāļ‡āļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™ āļĨāđ‰āļ­āļĄāļĢāļ­āļšāļ”āđ‰āļ§āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ›āļĩāļāļāļēāļ„āļđāđˆ: {{yourregex}}.
āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđ€āļĢāļēāļ•āđ‰āļ­āļ‡āļāļēāļĢāđƒāļŠāđ‰āļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāļŠāļ•āļĢāļīāļ‡āđāļšāļšāļ„āļ‡āļ—āļĩāđˆāļāļąāļšāļŠāļīāđˆāļ‡āļ—āļĩāđˆāđ€āļĢāļēāļ—āļģāđ€āļ›āđ‡āļ™āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ FileCheck āļˆāļķāļ‡āļĄāļĩ
āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāļ­āļ­āļāđāļšāļšāļĄāļēāđ€āļžāļ·āđˆāļ­āļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāļœāļŠāļĄāđāļĨāļ°āļˆāļąāļšāļ„āļđāđˆāļŠāļ•āļĢāļīāļ‡āļ„āļ‡āļ—āļĩāđˆāļ—āļĩāđˆāļˆāļąāļšāļ„āļđāđˆāļāļąāļšāļ›āļāļ•āļī
āļ™āļīāļžāļˆāļ™āđŒ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™āļŠāļīāđˆāļ‡āļ•āđˆāļēāļ‡ āđ† āđ€āļŠāđˆāļ™āļ™āļĩāđ‰:

; āļ•āļĢāļ§āļˆāļŠāļ­āļš: movhpd {{[0-9]+}}(%esp), {{%xmm[0-7]}}

āđƒāļ™āļāļĢāļ“āļĩāļ™āļĩāđ‰ āļ­āļ­āļŸāđ€āļ‹āđ‡āļ•āđƒāļ”āđ† āļˆāļēāļāļāļēāļĢāļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™ ESP āļˆāļ°āđ„āļ”āđ‰āļĢāļąāļšāļ­āļ™āļļāļāļēāļ• āđāļĨāļ°āļāļēāļĢāļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™ xmm āđƒāļ”āđ† āļˆāļ°
āđ„āļ”āđ‰āļĢāļąāļšāļ­āļ™āļļāļāļēāļ•

āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļ™āļīāļžāļˆāļ™āđŒāļ—āļąāđˆāļ§āđ„āļ›āļ›āļīāļ”āļĨāđ‰āļ­āļĄāļ”āđ‰āļ§āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ›āļĩāļāļāļē XNUMX āļŠāļąāđ‰āļ™ āļˆāļķāļ‡āļĄāļ­āļ‡āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āļŠāļąāļ”āđ€āļˆāļ™
āđāļĨāļ°āļ„āļļāļ“āđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļ­āļąāļāļ‚āļĢāļ°āļŦāļĨāļĩāļāļ āļēāļĒāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ›āļĩāļāļāļēāļ„āļđāđˆāđ€āļŦāļĄāļ·āļ­āļ™āđƒāļ™ C
āđƒāļ™āļāļĢāļ“āļĩāļ—āļĩāđˆāļŦāļēāļĒāļēāļāļ—āļĩāđˆāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ›āļĩāļāļāļēāļ„āļđāđˆāļ­āļĒāđˆāļēāļ‡āļŠāļąāļ”āđ€āļˆāļ™āļˆāļēāļāļ­āļīāļ™āļžāļļāļ• āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–
āđƒāļŠāđ‰āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ™āđˆāļēāđ€āļāļĨāļĩāļĒāļ”āđ€āļŠāđˆāļ™ {{[{][{]}} āļ•āļēāļĄāđāļšāļšāļ‰āļšāļąāļšāļ‚āļ­āļ‡āļ„āļļāļ“

āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āļ•āļąāļ§āđāļ›āļĢ
āļĄāļąāļāļˆāļ°āđ€āļ›āđ‡āļ™āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđƒāļ™āļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāļĢāļđāļ›āđāļšāļšāđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡āđƒāļ™āļ āļēāļĒāļŦāļĨāļąāļ‡āđƒāļ™
āđ„āļŸāļĨāđŒ. āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ—āļ”āļŠāļ­āļš codegen āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāđƒāļ™āļāļēāļĢāļ­āļ™āļļāļāļēāļ•āļāļēāļĢāļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™āđƒāļ”āđ† āđāļ•āđˆāđƒāļŦāđ‰āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļē
register āļ–āļđāļāđƒāļŠāđ‰āļ­āļĒāđˆāļēāļ‡āļŠāļĄāđˆāļģāđ€āļŠāļĄāļ­āđƒāļ™āļ āļēāļĒāļŦāļĨāļąāļ‡ āđ€āļžāļ·āđˆāļ­āļ—āļģāļŠāļīāđˆāļ‡āļ™āļĩāđ‰, āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āļ•āļąāļ§āđāļ›āļĢāļ—āļĩāđˆāļĄāļĩāļŠāļ·āđˆāļ­āđ€āļ›āđ‡āļ™
āļāļģāļŦāļ™āļ”āđāļĨāļ°āđāļ—āļ™āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļš āļ™āļĩāđˆāđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāđ†:

; āļ•āļĢāļ§āļˆāļŠāļ­āļš: test5:
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: āđ„āļĄāđˆ [[āļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™:%[az]+]]
; āļ•āļĢāļ§āļˆāļŠāļ­āļš: āđāļĨāļ°w {{.*}}[[āļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™]]

āđ€āļŠāđ‡āļ„āļšāļĢāļĢāļ—āļąāļ”āđāļĢāļāļ•āļĢāļ‡āļāļąāļš regex %[az]+ āđāļĨāđ‰āļ§āļˆāļąāļšāđ€āļ‚āđ‰āļēāļ•āļąāļ§āđāļ›āļĢ āļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™.
āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļŠāļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ§āđˆāļēāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ­āļĒāļđāđˆāđƒāļ™ āļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™ āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļ āļēāļĒāļŦāļĨāļąāļ‡āđƒāļ™āđ„āļŸāļĨāđŒāļŦāļĨāļąāļ‡āļˆāļēāļ an
"āđāļĨāļ°". āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļ•āļąāļ§āđāļ›āļĢāļĄāļąāļāļˆāļ°āļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™ [[ ]] āļ„āļđāđˆāđāļĨāļ°āļ‚āļ­āļ‡āļžāļ§āļāđ€āļ‚āļē
āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļŠāļ·āđˆāļ­āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ regex [a-zA-Z][a-zA-Z0-9]*. āļ–āđ‰āļēāđ‚āļ„āļĨāļ­āļ™āļ•āļēāļĄāļŠāļ·āđˆāļ­
āļˆāļķāļ‡āđ€āļ›āđ‡āļ™āļ™āļīāļĒāļēāļĄāļ‚āļ­āļ‡āļ•āļąāļ§āđāļ›āļĢ āļĄāļīāļ‰āļ°āļ™āļąāđ‰āļ™āļˆāļ°āđ€āļ›āđ‡āļ™āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™

āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āļ•āļąāļ§āđāļ›āļĢāļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āđ„āļ”āđ‰āļŦāļĨāļēāļĒāļ„āļĢāļąāđ‰āļ‡ āđāļĨāļ°āđƒāļŠāđ‰āļ„āđˆāļēāļĨāđˆāļēāļŠāļļāļ”āđ€āļŠāļĄāļ­
āļ•āļąāļ§āđāļ›āļĢāļĒāļąāļ‡āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļ āļēāļĒāļŦāļĨāļąāļ‡āđƒāļ™āļšāļĢāļĢāļ—āļąāļ”āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļāļąāļšāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āđ„āļ§āđ‰ āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāđˆāļ™:

; āļ•āļĢāļ§āļˆāļŠāļ­āļš: op [[REG:r[0-9]+]], [[REG]]

āļˆāļ°āļĄāļĩāļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļ–āđ‰āļēāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ•āļąāļ§āļ–āļđāļāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāļ‚āļ­āļ‡ op āđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļ—āļ°āđ€āļšāļĩāļĒāļ™āđ€āļ”āļīāļĄāđ„āļĄāđˆāļŠāļ™
āļ—āļĩāđˆāļĨāļ‡āļ—āļ°āđ€āļšāļĩāļĒāļ™āļĄāļąāļ™āđ€āļ›āđ‡āļ™

āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļŸāļĨāđŒ āļāļēāļĢāđāļŠāļ”āļ‡āļ­āļ­āļ
āļšāļēāļ‡āļ„āļĢāļąāđ‰āļ‡āļĄāļĩāļ„āļ§āļēāļĄāļˆāļģāđ€āļ›āđ‡āļ™āļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļœāļĨāļĨāļąāļžāļ˜āđŒāļ‹āļķāđˆāļ‡āļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļšāļĢāļĢāļ—āļąāļ”āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāļ—āļĩāđˆāļ•āļĢāļ‡āļāļąāļ™
āđ€āļŠāđˆāļ™ āđ€āļĄāļ·āđˆāļ­āļ—āļģāļāļēāļĢāļ—āļ”āļŠāļ­āļšāļāļēāļĢāļ§āļīāļ™āļīāļˆāļ‰āļąāļĒāļ„āļ­āļĄāđ„āļžāđ€āļĨāļ­āļĢāđŒ āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļ„āļ§āļēāļĄāđ€āļ›āļĢāļēāļ°āļšāļēāļ‡āļ‚āļ­āļ‡āļāļēāļĢāđāļ‚āđˆāļ‡āļ‚āļąāļ™
āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ„āļŸāļĨāđŒāđ€āļ›āđ‡āļ™ "āļ•āļĢāļ§āļˆāļŠāļ­āļš:" āļšāļĢāļĢāļ—āļąāļ”āļĄāļĩāļŦāļĄāļēāļĒāđ€āļĨāļ‚āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāđāļ™āđˆāļ™āļ­āļ™āđƒāļ™āđ„āļŸāļĨāđŒāđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļ‹āļķāđˆāļ‡
āļ•āđ‰āļ­āļ‡āļ­āļąāļ›āđ€āļ”āļ•āļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļšāļĢāļĢāļ—āļąāļ”āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļāļēāļĢāđ€āļ•āļīāļĄāļŦāļĢāļ·āļ­āļĨāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄ

āđ€āļžāļ·āđˆāļ­āļĢāļ­āļ‡āļĢāļąāļšāļāļĢāļ“āļĩāļ™āļĩāđ‰ FileCheck āļ­āļ™āļļāļāļēāļ•āđƒāļŦāđ‰āđƒāļŠāđ‰ [[@āđ„āļĨāļ™āđŒ]], [[@LINE+ ]],
[[@āđ„āļĨāļ™āđŒ- ]] āļāļēāļĢāđāļŠāļ”āļ‡āļ­āļ­āļāđƒāļ™āļĢāļđāļ›āđāļšāļš āļ™āļīāļžāļˆāļ™āđŒāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļ‚āļĒāļēāļĒāđ€āļ›āđ‡āļ™āļˆāļģāļ™āļ§āļ™
āđ€āļŠāđ‰āļ™āļ—āļĩāđˆāļĄāļĩāļĢāļđāļ›āđāļšāļšāļ­āļĒāļđāđˆ (āļžāļĢāđ‰āļ­āļĄāļ­āļ­āļŸāđ€āļ‹āđ‡āļ•āļˆāļģāļ™āļ§āļ™āđ€āļ•āđ‡āļĄāđ€āļŠāļĢāļīāļĄ)

āļ§āļīāļ˜āļĩāļ™āļĩāđ‰āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđˆāļĢāļđāļ›āđāļšāļšāļāļēāļĢāļˆāļąāļšāļ„āļđāđˆāđ„āļ§āđ‰āđƒāļāļĨāđ‰āļāļąāļšāđ€āļŠāđ‰āļ™āļ—āļ”āļŠāļ­āļšāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āđāļĨāļ°āļĢāļ§āļĄāđ€āļŠāđ‰āļ™āļ—āļĩāđˆāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļāļąāļ™
āļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļ•āļąāļ§āđ€āļĨāļ‚ āđ€āļŠāđˆāļ™

// āļ•āļĢāļ§āļˆāļŠāļ­āļš: test.cpp:[[@LINE+4]]:6: āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”: āļ„āļēāļ”āļŦāļ§āļąāļ‡ ';' āļŦāļĨāļąāļ‡āļœāļđāđ‰āļ›āļĢāļ°āļāļēāļĻāļĢāļ°āļ”āļąāļšāļšāļ™āļŠāļļāļ”
// āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: {{^int a}}
// āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: {{^ \^}}
// āļ•āļĢāļ§āļˆāļŠāļ­āļš-āļ–āļąāļ”āđ„āļ›: {{^ ;}}
int āļ

āđƒāļŠāđ‰ FileCheck-3.6 āļ­āļ­āļ™āđ„āļĨāļ™āđŒāđ‚āļ”āļĒāđƒāļŠāđ‰āļšāļĢāļīāļāļēāļĢ onworks.net


āđ€āļ‹āļīāļĢāđŒāļŸāđ€āļ§āļ­āļĢāđŒāđāļĨāļ°āđ€āļ§āļīāļĢāđŒāļāļŠāđ€āļ•āļŠāļąāļ™āļŸāļĢāļĩ

āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđāļ­āļž Windows & Linux

  • 1
    āļ›āļĨāļąāđŠāļāļ­āļīāļ™ Eclipse Tomcat
    āļ›āļĨāļąāđŠāļāļ­āļīāļ™ Eclipse Tomcat
    āļ›āļĨāļąāđŠāļāļ­āļīāļ™ Eclipse Tomcat āļĄāļĩāđƒāļŦāđ‰
    āļāļēāļĢāļĢāļ§āļĄāļ­āļĒāđˆāļēāļ‡āļ‡āđˆāļēāļĒāļ‚āļ­āļ‡ tomcat servlet
    āļ„āļ­āļ™āđ€āļ—āļ™āđ€āļ™āļ­āļĢāđŒāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļē java
    āđ€āļ§āđ‡āļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āđ‰āļēāļĢāđˆāļ§āļĄāļāļąāļšāđ€āļĢāļēāļŠāļģāļŦāļĢāļąāļš
    āļ­āļ āļīāļ›āļĢāļēāļĒ...
    āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āļ›āļĨāļąāđŠāļāļ­āļīāļ™ Eclipse Tomcat
  • 2
    WebTorrent Desktop
    WebTorrent Desktop
    WebTorrent Desktop āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļ•āļĢāļĩāļĄ
    torrents āļšāļ™ Mac, Windows āļŦāļĢāļ·āļ­ Linux āļĄāļąāļ™
    āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļ—āļąāđ‰āļ‡ BitTorrent āđāļĨāļ°
    WebTorrent āđ€āļžāļĩāļĒāļĢāđŒ āļ•āļ­āļ™āļ™āļĩāđ‰āđ„āļĄāđˆāļĄāļĩ
    āļ•āđ‰āļ­āļ‡āļĢāļ­āļ™āļēāļ™...
    āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āđ€āļ”āļŠāļāđŒāļ—āđ‡āļ­āļ› WebTorrent
  • 3
    GenX
    GenX
    GenX āđ€āļ›āđ‡āļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļēāļ‡āļ§āļīāļ—āļĒāļēāļĻāļēāļŠāļ•āļĢāđŒāđ€āļžāļ·āđˆāļ­āļ›āļĢāļąāļšāđāļ•āđˆāļ‡
    āļāļēāļĢāļŠāļ°āļ—āđ‰āļ­āļ™āđāļŠāļ‡āļ‚āļ­āļ‡āļĢāļąāļ‡āļŠāļĩāđ€āļ­āļāļ‹āđŒ, āļ™āļīāļ§āļ•āļĢāļ­āļ™
    āļāļēāļĢāļŠāļ°āļ—āđ‰āļ­āļ™āđāļŠāļ‡āđāļĨāļ°āļāļēāļĢāđ€āļ­āđ‡āļāļ‹āđŒāđ€āļĢāļĒāđŒāļžāļ·āđ‰āļ™āļœāļīāļ§
    āļ‚āđ‰āļ­āļĄāļđāļĨāļāļēāļĢāđ€āļĨāļĩāđ‰āļĒāļ§āđ€āļšāļ™āđ‚āļ”āļĒāđƒāļŠāđ‰āļ”āļīāļŸāđ€āļŸāļ­āđ€āļĢāļ™āđ€āļŠāļĩāļĒāļĨ
    āļ­āļąāļĨāļāļ­āļĢāļīāļ˜āļķāļĄāļ§āļīāļ§āļąāļ’āļ™āļēāļāļēāļĢ....
    āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” GenX
  • 4
    pspp4āļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡
    pspp4āļŦāļ™āđ‰āļēāļ•āđˆāļēāļ‡
    PSPP āđ€āļ›āđ‡āļ™āđ‚āļ›āļĢāđāļāļĢāļĄāļŠāļģāļŦāļĢāļąāļšāļŠāļ–āļīāļ•āļī
    āļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ‚āđ‰āļ­āļĄāļđāļĨāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļĄāļąāļ™āđ€āļ›āđ‡āļ™āļŸāļĢāļĩ
    āđāļ—āļ™āļ—āļĩāđˆāđ‚āļ›āļĢāđāļāļĢāļĄāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļāļĢāļĢāļĄāļŠāļīāļ—āļ˜āļīāđŒ
    āļŠāļ›āļŠ. PSPP āļĄāļĩāļ—āļąāđ‰āļ‡āđāļšāļšāļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļĨāļ°
    āļāļĢāļēāļŸāļīāļāđ€āļĢāļē...
    āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” pspp4windows
  • 5
    āļŠāđˆāļ§āļ™āļ‚āļĒāļēāļĒ Git
    āļŠāđˆāļ§āļ™āļ‚āļĒāļēāļĒ Git
    Git Extensions āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ UI āđāļšāļšāļŠāđāļ•āļ™āļ”āđŒāļ­āđ‚āļĨāļ™
    āļŠāļģāļŦāļĢāļąāļšāļˆāļąāļ”āļāļēāļĢāļ—āļĩāđˆāđ€āļāđ‡āļš Git āļĄāļąāļ™āļĒāļąāļ‡
    āļ—āļģāļ‡āļēāļ™āļĢāđˆāļ§āļĄāļāļąāļš Windows Explorer āđāļĨāļ°
    Microsoft Visual Studio
    (2015/2017/2019). āđ„āļ—āļĒ...
    āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ”āļŠāđˆāļ§āļ™āļ‚āļĒāļēāļĒ Git
  • 6
    eSpeak: āļāļēāļĢāļŠāļąāļ‡āđ€āļ„āļĢāļēāļ°āļŦāđŒāđ€āļŠāļĩāļĒāļ‡āļžāļđāļ”
    eSpeak: āļāļēāļĢāļŠāļąāļ‡āđ€āļ„āļĢāļēāļ°āļŦāđŒāđ€āļŠāļĩāļĒāļ‡āļžāļđāļ”
    āđ€āļ­āđ‡āļ™āļˆāļīāđ‰āļ™ Text to Speech āļŠāļģāļŦāļĢāļąāļšāļ āļēāļĐāļēāļ­āļąāļ‡āļāļĪāļĐāđāļĨāļ°
    āļ āļēāļĐāļēāļ­āļ·āđˆāļ™ āđ† āļ­āļĩāļāļĄāļēāļāļĄāļēāļĒ āļ‚āļ™āļēāļ”āļāļĢāļ°āļ—āļąāļ”āļĢāļąāļ”āļ”āđ‰āļ§āļĒ
    āļāļēāļĢāļ­āļ­āļāđ€āļŠāļĩāļĒāļ‡āļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™ āđāļ•āđˆāļ›āļĢāļ°āļ”āļīāļĐāļāđŒ
    āļĄāļĩāđƒāļŦāđ‰āđƒāļ™āļĢāļđāļ›āđāļšāļšāđ‚āļ›āļĢāđāļāļĢāļĄāļšāļĢāļĢāļ—āļąāļ”āļ„āļģāļŠāļąāđˆāļ‡āļ”āđ‰āļ§āļĒ
    āļĄāļēāļāļĄāļēāļĒ ...
    āļ”āļēāļ§āļ™āđŒāđ‚āļŦāļĨāļ” eSpeak: āļāļēāļĢāļŠāļąāļ‡āđ€āļ„āļĢāļēāļ°āļŦāđŒāđ€āļŠāļĩāļĒāļ‡
  • āđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄÂŧ

āļ„āļģāļŠāļąāđˆāļ‡ Linux

Ad