
llvm-blog
「已注销」
never undefeated
展开
-
What’s wrong with this code?
Wednesday, April 7, 2010What’s wrong with this code?A user on IRC sent me this interesting KLEE example today, which I thought was cute enough I should post it.If you aren’t familiar with it, KLEE ...转载 2020-01-20 14:15:12 · 330 阅读 · 0 评论 -
What Every C Programmer Should Know About Undefined Behavior #3/3
Saturday, May 21, 2011What Every C Programmer Should Know About Undefined Behavior #3/3In Part 1 of the series, we took a look at undefined behavior in C and showed some cases where it allows C to ...转载 2020-01-20 14:14:38 · 555 阅读 · 0 评论 -
What Every C Programmer Should Know About Undefined Behavior #2/3
What Every C Programmer Should Know About Undefined Behavior #2/3In Part 1 of our series, we discussed what undefined behavior is, and how it allows C and C++ compilers to produce higher performance...转载 2020-01-20 14:13:55 · 777 阅读 · 0 评论 -
What Every C Programmer Should Know About Undefined Behavior #1/3
Friday, May 13, 2011What Every C Programmer Should Know About Undefined Behavior #1/3People occasionally ask why LLVM-compiled code sometimes generates SIGTRAP signals when the optimizer is turned ...转载 2020-01-20 14:13:09 · 869 阅读 · 0 评论 -
Using MCJIT with the Kaleidoscope Tutorial
Monday, July 22, 2013Using MCJIT with the Kaleidoscope TutorialYou may have noticed that there are two different JIT execution engines in the LLVM project. The older implementation (llvm::JIT) is a ...转载 2020-01-20 14:12:25 · 585 阅读 · 0 评论 -
Using clang for Chrome production builds on Linux
Using clang for Chrome production builds on LinuxChrome 38 was released early October 2014. It is the first release where the Linux binaries shipped to users are built by clang. Previously, this was ...转载 2020-01-19 09:10:36 · 574 阅读 · 0 评论 -
The x86 Disassembler
Wednesday, January 6, 2010The x86 DisassemblerDisassemblers make binary analysis work. With a reliable disassembler, you can solve high-level problems like tracing back through a program’s call s...转载 2020-01-19 09:09:54 · 372 阅读 · 0 评论 -
The LLVM Foundation
Thursday, April 3, 2014The LLVM FoundationThe LLVM umbrella project has grown over the years into a vibrant community made up of many sub-projects, with hundreds of contributors. The results of th...转载 2020-01-19 09:09:05 · 204 阅读 · 0 评论 -
The Dreaded Two-Phase Name Lookup
Friday, December 18, 2009The Dreaded Two-Phase Name LookupC++ has more than its fair share of dark, dank corners, especially where templates are concerned. One of the most vexing is “two-phase name ...转载 2020-01-19 09:08:35 · 337 阅读 · 0 评论 -
The clang-cl /fallback mode
The clang-cl /fallback modeThere has been a lot of work lately towards bringing an LLVM toolchain to the Windows platform (see A path forward for an LLVM toolchain on Windows). One result of that wor...转载 2020-01-19 09:07:43 · 288 阅读 · 0 评论 -
Testing libc++ with -fsanitize=undefined
Testing libc++ with -fsanitize=undefined[This article is re-posted in a slightly expanded form from Marshall’s blog]After my last article, Testing libc++ with Address Sanitizer, I thought “what othe...转载 2020-01-19 09:07:10 · 1557 阅读 · 0 评论 -
Testing libc++ with Address Sanitizer
Thursday, March 28, 2013Testing libc++ with Address Sanitizer[This article is re-posted in a slightly expanded form from Marshall’s blog]I’ve been running the libc++ tests off and on for a while. I...转载 2020-01-19 09:04:03 · 241 阅读 · 0 评论 -
TCE project: Co-design of application-specific processors with LLVM-based compilation support
TCE project: Co-design of application-specific processors with LLVM-based compilation supportTTA-based Codesign Environment (TCE) is an application-specific instruction-set processor (ASIP) design to...转载 2020-01-19 09:03:18 · 918 阅读 · 0 评论 -
Status of the C++11 Migrator
Monday, April 15, 2013Status of the C++11 MigratorSince the design document for cpp11-migrate, the C++11 migrator tool, was first proposed in early December 2012 development has been making steady p...转载 2020-01-19 09:02:31 · 272 阅读 · 0 评论 -
Simple guided fuzzing for libraries using LLVM's new libFuzzer
Fuzzing (or fuzz testing) is becoming increasingly popular. Fuzzing Clang and fuzzing Clang is not new: Clang-based AddressSanitizer and Clang itself has been extensively fuzzed using csmith Now we’...转载 2020-01-19 09:01:46 · 313 阅读 · 0 评论 -
Reduce Your Testcases with Bugpoint and Custom Scripts
Reduce Your Testcases with Bugpoint and Custom ScriptsLLVM provides many useful command line tools to handle bitcode: opt is the most widely known and is used to run individual passes on an IR module...转载 2020-01-19 09:01:01 · 514 阅读 · 0 评论 -
OpenMP* project
OpenMP* projectI am extremely glad to announce that Intel has decided to provide a copy of our Intel® open-source OpenMP* runtime as an LLVM sub-project (and the LLVM project has been kind enough t...转载 2020-01-18 22:10:37 · 170 阅读 · 0 评论 -
New Loop Vectorizer
Friday, December 7, 2012New Loop VectorizerI would like to give a brief update regarding the development of the Loop Vectorizer. LLVM now has two vectorizers: The Loop Vectorizer, which operates o...转载 2020-01-18 22:09:46 · 272 阅读 · 0 评论 -
New “lldb” Debugger
New “lldb” DebuggerI’m happy to announce a great new subproject of LLVM: LLDB. LLDB is a modern debugger infrastructure which is built (like the rest of LLVM) as a series of modular and reusable li...转载 2020-01-18 22:09:07 · 148 阅读 · 0 评论 -
New libunwind implementation in libc++abi
New libunwind implementation in libc++abiToday we are happy to announce that the LLVM family of C++ support libraries is more complete than ever. To enable clang++ to port to platforms that do not ...转载 2020-01-18 22:08:26 · 250 阅读 · 0 评论 -
New libc++ C++ Standard Library
I’m happy to announce a new subproject of LLVM: “libc++”. libc++ is an implementation of the C++ Standard Library, with a focus on standards compliance, highly efficient generated code, and with an...转载 2020-01-18 22:07:31 · 294 阅读 · 0 评论 -
New ELF Linker from the LLVM Project
New ELF Linker from the LLVM ProjectWe have been working hard for a few months now to rewrite the ELF support in lld, the LLVM linker. We are happy to announce that it has reached a significant mil...转载 2020-01-18 22:06:39 · 186 阅读 · 0 评论 -
Loop Vectorization: Diagnostics and Control
Loop Vectorization: Diagnostics and ControlLoop vectorization was first introduced in LLVM 3.2 and turned on by default in LLVM 3.3. It has been discussed previously on this blog in 2012 and 2013, as...转载 2020-01-18 22:05:51 · 517 阅读 · 0 评论 -
LLVM Recipient of the 2012 ACM System Software Award
LLVM Recipient of the 2012 ACM System Software Award The ACM just announced that the LLVM project is the recipient of the 2012 ACM System Software Award. This award recognizes a “software system tha...转载 2020-01-18 22:05:02 · 162 阅读 · 0 评论 -
LLVM in ClamAV
Tuesday, September 7, 2010LLVM in ClamAVNew in version 0.96, the ClamAV antivirus system extends its internal bytecode interpreter to support an LLVM JIT compiler. This JIT compiler allows for imp...转载 2020-01-18 22:04:22 · 242 阅读 · 0 评论 -
LLVM Foundation Granted 501©(3) Nonprofit Status
LLVM Foundation Granted 501©(3) Nonprofit StatusThe LLVM Foundation is proud to announce it has been officially approved as a public charity with tax-exempt status under Section 501©(3) of the Unite...转载 2020-01-18 22:03:32 · 293 阅读 · 0 评论 -
LLVM Foundation 2016 Announcements
LLVM Foundation 2016 Announcements With 2016 upon us, the LLVM Foundation would like to announce our plans for the year. If you are not familiar with the LLVM Foundation, we are a 501©(3) nonprofit ...转载 2020-01-18 22:02:44 · 173 阅读 · 0 评论 -
LLVM Debian/Ubuntu nightly packages
LLVM Debian/Ubuntu nightly packagesIn order to facilitate testing and to improve the deployment of the LLVM toolchain, we are happy to publish LLVM Debian/Ubuntu nightly packages. Read on for inform...转载 2020-01-18 22:01:52 · 363 阅读 · 0 评论 -
LLVM 3.3 Vectorization Improvements
Tuesday, May 28, 2013LLVM 3.3 Vectorization ImprovementsI would like to give a brief update regarding vectorization in LLVM. When LLVM 3.2 was released, it featured a new experimental loop vectorize...转载 2020-01-17 09:57:12 · 330 阅读 · 0 评论 -
LLVM 3.3 Released!
Wednesday, June 19, 2013LLVM 3.3 Released!LLVM 3.3 is now availableRelease NotesLLVM 3.3 is a big release: it adds new targets for the AArch64 and AMD R600 GPU architectures, adds support for IBM’...转载 2020-01-17 09:56:32 · 234 阅读 · 0 评论 -
LLVM 3.0 Type System Rewrite
Saturday, November 26, 2011LLVM 3.0 Type System RewriteOne of the most pervasive IR (and thus compiler API) changes in LLVM 3.0 was a complete reimplementation of the LLVM IR type system. This cha...转载 2020-01-17 09:55:54 · 739 阅读 · 0 评论 -
LLVM 3.0 Exception Handling Redesign
Monday, November 28, 2011LLVM 3.0 Exception Handling RedesignOne of the biggest IR changes in the LLVM 3.0 release is a redesign and reimplementation of the LLVM IR exception handling model. The ol...转载 2020-01-17 09:55:05 · 411 阅读 · 0 评论 -
LLDB is Coming to Windows
LLDB is Coming to WindowsWe’ve spoken in the past about teaching Clang to fully support Windows and be compatible with MSVC. Until now, a big missing piece in this story has been debugging the clan...转载 2020-01-17 09:54:07 · 421 阅读 · 0 评论 -
LLDB 3.3 and beyond
LLVM Project News and Details from the TrenchesFriday, June 28, 2013LLDB 3.3 and beyondThe LLVM project debugger (LLDB) has seen a recent upswing of activity around the LLVM 3.3 release. While the ...转载 2020-01-17 09:53:24 · 203 阅读 · 0 评论 -
‘lit’ it
Thursday, December 17, 2009‘lit’ itIf you’ve been watching LLVM and Clang, you’ll notice that there is a new testing tool we are using called lit. Clang has already moved to it, and LLVM has support...转载 2020-01-17 09:52:42 · 351 阅读 · 0 评论 -
libc++ and C++1Y
libc++ and C++1YI am proud to announce that as of September 21, libc++ has a full implementation of the C++1Y standard library.In April of 2013, the C++ standards committee approved a draft version ...转载 2020-01-17 09:51:15 · 161 阅读 · 0 评论 -
Introduction to load elimination in the GVN pass
Thursday, December 17, 2009Introduction to load elimination in the GVN passOne very important optimization that the GVN pass (opt -gvn) does is load elimination. Load elimination involves several s...转载 2020-01-17 09:50:31 · 704 阅读 · 0 评论 -
Intro to the LLVM MC Project
Friday, April 9, 2010Intro to the LLVM MC ProjectThe LLVM Machine Code (aka MC) sub-project of LLVM was created to solve a number of problems in the realm of assembly, disassembly, object file form...转载 2020-01-17 09:49:48 · 643 阅读 · 0 评论 -
Instruction Relationship Framework in LLVM
Instruction Relationship Framework in LLVMThe article provides an overview of the new Relationship framework of TableGen. This TableGen feature is used to describe user defined relationships betwee...转载 2020-01-17 09:48:49 · 296 阅读 · 0 评论 -
Google Summer of Code: C++ Modernizer Improvements
Monday, November 18, 2013Google Summer of Code: C++ Modernizer ImprovementsGoogle Summer of Code (GSoC) offers students stipends to participate in open source projects during the summer. This year,...转载 2020-01-17 09:41:34 · 832 阅读 · 0 评论