एलएलव्हीएम 12.0 आधीपासून रिलीज केले गेले आहे आणि या त्याच्या बातम्या आहेत

एलएलव्हीएम

विकासाच्या सहा महिन्यांनंतर LLVM 12.0 प्रकल्पाच्या नवीन आवृत्तीचे प्रक्षेपण सादर करण्यात आले जीसीसी (कंपाइलर, ऑप्टिमाइझर आणि कोड जनरेटर) अनुरूप जे प्रोग्राम आरआयएससी (व्हिज्युअल मशीन मल्टी लेव्हल ऑप्टिमायझेशन सिस्टमसह निम्न-स्तरीय व्हर्च्युअल मशीन) च्या इंटरमिजिएट बिटकॉडमध्ये बनवते

या नवीन आवृत्तीत आम्ही विविध सुधारणा आणि बातम्या शोधू शकतो, ज्यापैकी आम्ही -mtune ला gcc म्हणून समर्थन देण्यासाठी "ट्यून-सीपीयू" हे नवीन फंक्शन विशेषता हायलाइट करू शकतो, तसेच विविध प्लॅटफॉर्मवर सुधारणा करू शकतो.

एलएलव्हीएम 12.0 ची मुख्य नवीन वैशिष्ट्ये

या नवीन आवृत्तीमध्ये, आम्ही ते शोधू शकतो llvm-build बिल्ड टूलकिटसाठी समर्थन अजगरात लिहिलेले बंद केले आहे, त्याऐवजी प्रकल्प पूर्णपणे CMake बिल्ड सिस्टम वापरण्यासाठी स्विच केला आहे.

AArch64 आर्किटेक्चरसाठी बॅकएंडने Windows प्लॅटफॉर्मसाठी समर्थन सुधारले आहे: टार्गेट विंडोज सिस्टीमसाठी असेंबलर आउटपुटची योग्य निर्मिती प्रदान केली गेली आहे, अनवाइंड कॉल्सवर डेटा जनरेशन ऑप्टिमाइझ केले गेले आहे (अशा डेटाचा आकार 60% ने कमी केला आहे), डेटा तयार करण्याची क्षमता seh निर्देशांचा वापर करून अनवाइंड जोडली गेली आहे.

तर PowerPC आर्किटेक्चर बॅकएंडमध्ये इनलाइन आणि लूप डिप्लॉयमेंटसाठी नवीन ऑप्टिमायझेशन समाविष्ट आहे, Power10 प्रोसेसरसाठी सुधारित समर्थन, अॅरे हाताळण्यासाठी MMA सूचनांसाठी अतिरिक्त समर्थन आणि AIX ऑपरेटिंग सिस्टमसाठी सुधारित समर्थन.

परिच्छेद x86 ने AMD Zen 3, Intel Alder Lake आणि Intel Sapphire Rapids प्रोसेसरसाठी समर्थन जोडले, तसेच HRESET, UINTR आणि AVXVNNI प्रोसेसरसाठी सूचना. मेमरी क्षेत्र मर्यादांविरूद्ध पॉइंटर तपासण्यासाठी MPX विस्तार (मेमरी संरक्षण विस्तार) साठी समर्थन काढून टाकले (हे तंत्रज्ञान मोठ्या प्रमाणावर वापरले गेले नाही आणि नंतर GCC आणि clang मधून काढले गेले आहे). ऑपरेंड आणि संक्रमणांच्या ऑफसेटचा आकार नियंत्रित करण्यासाठी असेंबलरने उपसर्ग {disp32} आणि {disp8} आणि .d32 आणि .d8 प्रत्ययांसाठी समर्थन जोडले आहे. मायक्रोआर्किटेक्चरल ऑप्टिमायझेशनच्या सक्षमीकरणावर नियंत्रण ठेवण्यासाठी एक नवीन विशेषता "ट्यून-सीपीयू" जोडली गेली.

अजून एक बदल म्हणजे तो म्हणजे एक नवीन मोड जोडला "-fsanitize = unsigned-shift-base" थोडे डावीकडे सरकल्यानंतर अस्वाक्षरित पूर्णांक ओव्हरफ्लो शोधण्यासाठी. Mach-O (macOS) फॉरमॅटसाठी, arm64, आर्म आणि i386 आर्किटेक्चर, लिंक स्टेज ऑप्टिमायझेशन (LTO) आणि अपवाद हाताळताना स्टॅक अनवाइंडसाठी समर्थन लागू केले आहे.

तसेच एक नवीन वैशिष्ट्य गुणधर्म "ट्यून-सीपीयू" हायलाइट केले आहे जे ओ ला परवानगी देतेमायक्रोआर्किटेक्चर ऑप्टिमायझेशन "लक्ष्य-सीपीयू" गुणधर्माकडे दुर्लक्ष करून लागू केले जातात किंवा TargetMachine CPU जो निर्देश संच निवडण्यासाठी वापरला जाईल. विशेषता उपस्थित नसल्यास, ट्युनिंग CPU लक्ष्य CPU चे अनुसरण करेल.

Libc ++ C++ 20 मानकाची नवीन वैशिष्ट्ये लागू करते आणि C++ 2b स्पेसिफिकेशनची वैशिष्ट्ये विकसित करण्यास सुरुवात केली स्थानिकीकरणासाठी अक्षम समर्थनासह असेंबलिंगसाठी जोडलेले समर्थन ("-DLIBCXX_ENABLE_LOCALIZATION = OFF") आणि छद्म-यादृच्छिक संख्या व्युत्पन्न करण्यासाठी उपकरणे.

तर AArch12 आर्किटेक्चरसाठी Clang 64 च्या सुधारणांपैकी, नवीन कंपाइलर फ्लॅग जोडले गेले आहेत "__aarch64_cas8_relax" सारखी अणु सहाय्यक कार्ये सक्षम आणि अक्षम करण्यासाठी "-Moutline-atomics" आणि "-mno-outline-atomics" ही रनटाइम फंक्शन्स लार्ज सिस्टम एक्स्टेंशन्स (LSE) साठी समर्थन आहे की नाही हे निर्धारित करतात आणि सिंक्रोनाइझेशनसाठी LL/SC (लोड-लिंक / स्टोअर-कंडिशनल) सूचना वापरण्यासाठी प्रदान केलेल्या अणु प्रोसेसर सूचना किंवा रोलबॅक वापरतात.

'हा' पॉइंटर आता नॉन-नल आणि डिरेफरेबल चेकने प्रक्रिया केली आहे (एन). "-fdelete-null-pointer-checks" पर्यायाचा वापर शून्य मूल्ये आवश्यक असताना गैर-नूल विशेषता काढून टाकण्यासाठी केला जाऊ शकतो.

AArch64 आणि PowerPC आर्किटेक्चरसाठी Linux मध्ये, GCC प्रमाणे "-fasynchronous -wind-tables" हे रोल कॉल्सचे टेबल तयार करण्यासाठी सक्षम केले आहे.

"#pragma clang loop vectorize_width" मध्ये व्हेक्टरायझेशन पद्धत निवडण्यासाठी "फिक्स्ड" (डिफॉल्ट) आणि "स्केलेबल" पर्याय निर्दिष्ट करण्याची क्षमता जोडली गेली.

लिनक्सवरील क्लॅंगड कॅशिंग सर्व्हर (क्लँग सर्व्हर) मध्ये, दीर्घकालीन ऑपरेशन दरम्यान मेमरी वापर लक्षणीयरीत्या कमी केला जातो (ऑपरेटिंग सिस्टमला विनामूल्य मेमरी पृष्ठे परत करण्यासाठी malloc_trim ला नियतकालिक कॉल प्रदान केला जातो).

शेवटी आपल्याला त्याबद्दल अधिक जाणून घेण्यात स्वारस्य असल्यास या नवीन आवृत्तीबद्दल, तुम्ही करू शकता कृपया खालील तपशीलांचा संदर्भ घ्या. दुवा


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटासाठी जबाबदार: AB इंटरनेट नेटवर्क 2008 SL
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.