LLVM Directory Layout

LLVM Directory Layout

Source-code of llvm-project clone with git:https://github.com/llvm/llvm-project.git

HEAD detached at llvmorg-9.0.0

After the source-code is downloaded, a directory named ‘llvm-project’ appears and the directory listing is as follows:

The following is a brief introduction to code layout.

llvm-project/clang

Clang is an “llvm native” C/C++/Objective-C compiler, which aims to deliver amazingly fast compiles (e.g. about 3x faster than GCC when compiling Objective-C code in a debug configuration), extremely useful error and warning messages and to provide a platform for building great source level tools. The Clang Static Analyzer is a tool that automatically finds bugs in your code, and is great example of the sort of tool that can be built using the Clang frontend as library to parse C/C++ code.

llvm-project/clang-tools-extra

​ This repository holds tools that are developed as a part of the LLVM compiler infrastructure project and the Clang frontend. The tools are kept in a separate “extra” repository to allow lighter weight checkouts of the core Clang codebase.

​ This repository is only intended to be checked out inside of a full LLVM+Clang tree, and in the ‘tool/extra’ subdirectory of the Clang checkout.

​ All discussing regarding Clang, Clang-based tools, and code in this repository should be held using the standard Clang mailing lists: http://lists.llvm.org/mailman/listinfo/cfe-dev

llvm-project/compiler-rt

​ The compiler-rt project provides highly tuned implementations of the low-level code generator support routines like “__fixunsdfdi” and other calls generated when a target doesn’t have a short sequence of native instructions to implement a core IR operation. It also provides implementations of run-time libraries for dynamic testing tools such as AdressSanitizer, ThreadSanitizer, MemorySanitizer, and DataFlowSanitizer

llvm-project/debuginfo-tests

​ This is a collection of tests to check debugging information generated by compiler. This test suite can be checked out inside clang/test folder. This will enable ‘make test’ for clang to pick up these tests. Typically, test cases included here includes debugger commands and intended debugger output as comments in source file using DEBUGGER: and CHECK: as prefixes respectively:

​ For example:

define i32 @f1(i32 %i) nounwing ssp{
	; DEBUGGER: break f1
	; DEBUGGER: r
	; DEBUGGER: p i
	; CHECK: $1 = 42
	entry:
}

is a testcase where the debugger is asked to break at function ‘f1’ and print value of argument ‘i’. The expected value of ‘i’ is 42 in this case.

llvm-project/libclc

​ The

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值