1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

3704 Commits

Author SHA1 Message Date
Nick Lewycky
c551c1c5f9 Add support for a new extension to the .file directive:
.file filenumber "directory" "filename"

This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.

llvm-svn: 142300
2011-10-17 23:05:28 +00:00
Owen Anderson
e607004d1b Rewrite most of MachODump to work through the generic libObject interfaces rather than accessing the MachO internals directly.
llvm-svn: 142263
2011-10-17 21:37:35 +00:00
Michael J. Spencer
277eaf9f19 llvm-objdump: Add -s, which prints the contents of each section.
llvm-svn: 142199
2011-10-17 17:13:22 +00:00
NAKAMURA Takumi
782601653d tools/CMakeLists.txt: Fixup r142103. I don't remember why I had missed the line.
llvm-svn: 142136
2011-10-16 11:50:37 +00:00
Chris Lattner
391d90c9a6 Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a
string, pass it around as an enum.

llvm-svn: 142107
2011-10-16 05:43:57 +00:00
Chris Lattner
321335142c Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance
the X86 asmparser to produce ranges in the one case that was annoying me, for example:

test.s:10:15: error: invalid operand for instruction
movl 0(%rax), 0(%edx)
              ^~~~~~~

It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use 
ranges where appropriate if someone is interested.

llvm-svn: 142106
2011-10-16 04:47:35 +00:00
NAKAMURA Takumi
9ef901972f CMake: Introduce LLVM_CLANG_SOURCE_DIR, "tools/clang" by default. Clang will not be built if LLVM_CLANG_SOURCE_DIR="" or ${LLVM_CLANG_SOURCE_DIR}/CMakeLists.txt is not found.
llvm-svn: 142103
2011-10-16 02:54:33 +00:00
NAKAMURA Takumi
3e8c737ac8 autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile.
llvm-svn: 142102
2011-10-16 02:54:26 +00:00
Michael J. Spencer
4ee36e15ad llvm-object: Add inline relocation information to disassembly.
llvm-svn: 141897
2011-10-13 22:17:18 +00:00
Michael J. Spencer
309e0cb513 llvm-objdump: Fix whitespace.
llvm-svn: 141886
2011-10-13 20:37:20 +00:00
Michael J. Spencer
fa3f63c14a llvm-objdump: Fix dumping of multiple symbols with the same address.
This happens in COFF because there is a symbol for the beginning of each
section.

llvm-svn: 141885
2011-10-13 20:37:08 +00:00
NAKAMURA Takumi
bf2fb9b9e2 llvm-objdump.cpp: Use PRIx64 as format specifier for int64_t.
llvm-svn: 141664
2011-10-11 12:51:50 +00:00
Tanya Lattner
0ae574fe2b Make it possible to use the linker without destroying the source module. This is so the source module can be linked to multiple other destination modules. For all that used LinkModules() before, they will continue to destroy the source module as before.
This line, and those below, will be ignored--

M    include/llvm/Linker.h
M    tools/bugpoint/Miscompilation.cpp
M    tools/bugpoint/BugDriver.cpp
M    tools/llvm-link/llvm-link.cpp
M    lib/Linker/LinkModules.cpp

llvm-svn: 141606
2011-10-11 00:24:54 +00:00
Nick Lewycky
73e4d372d0 Add support for dumping section headers to llvm-objdump. This uses the same
flags as binutils objdump but the output is different, not just in format but
also showing different sections. Compare its results against readelf, not
objdump.

llvm-svn: 141579
2011-10-10 21:21:34 +00:00
Benjamin Kramer
05836b12fd llvm-objdump: Take ownership of MCInstrInfos.
llvm-svn: 141535
2011-10-10 13:10:09 +00:00
Benjamin Kramer
357893ba6f llvm-nm: Don't leak bitcode buffers.
llvm-svn: 141534
2011-10-10 13:10:04 +00:00
Michael J. Spencer
e497728e76 llvm-objdump: Add relocation and archive support.
llvm-svn: 141451
2011-10-08 00:18:30 +00:00
Michael J. Spencer
7037dc0b45 Fix a few changes I missed.
llvm-svn: 141392
2011-10-07 19:52:41 +00:00
Michael J. Spencer
3cc26e4c5e Fix GCC again.
llvm-svn: 141389
2011-10-07 19:46:12 +00:00
Michael J. Spencer
022d2639d9 Fix spelling in comment.
llvm-svn: 141386
2011-10-07 19:25:47 +00:00
Michael J. Spencer
34d76cf95b Change relocation API to be per section. This time without breaking GCC.
llvm-svn: 141385
2011-10-07 19:25:32 +00:00
Bill Wendling
ecbddb2b9e Revert 141376 and 141377 due to breaking the build.
--- Reverse-merging r141377 into '.':
U    tools/llvm-objdump/MachODump.cpp
--- Reverse-merging r141376 into '.':
U    include/llvm/Object/COFF.h
U    include/llvm/Object/ObjectFile.h
U    include/llvm-c/Object.h
U    tools/llvm-objdump/llvm-objdump.cpp
U    lib/Object/MachOObjectFile.cpp
U    lib/Object/COFFObjectFile.cpp
U    lib/Object/Object.cpp
U    lib/Object/ELFObjectFile.cpp

llvm-svn: 141379
2011-10-07 18:25:37 +00:00
Michael J. Spencer
8c104f4259 Fix spelling in comment.
llvm-svn: 141377
2011-10-07 18:15:40 +00:00
Michael J. Spencer
14925a859b Change relocation API to be per section.
llvm-svn: 141376
2011-10-07 18:15:25 +00:00
Devang Patel
196ef2ac28 Update cmake list.
llvm-svn: 141104
2011-10-04 19:38:16 +00:00
Devang Patel
90c78f84f2 Put GCOVFile and other related interface in a common header so that llvm-cov tool can share it with GCOV writer.
llvm-svn: 141095
2011-10-04 17:24:48 +00:00
Peter Collingbourne
82881bd04b Exclude libLLVMTableGen.a from the shared library
Unbreaks tools for --enable-shared build.

llvm-svn: 141052
2011-10-04 00:30:34 +00:00
Devang Patel
e5a1e5b655 Simplify.
llvm-svn: 140789
2011-09-29 17:06:40 +00:00
Devang Patel
b1bef6ba30 Clarify comments.
llvm-svn: 140787
2011-09-29 16:52:53 +00:00
Devang Patel
0729c18444 Remove unnecessary and unused data member.
llvm-svn: 140786
2011-09-29 16:48:44 +00:00
Devang Patel
204df6030c Cosmetic changes, as per Nick's review.
llvm-svn: 140785
2011-09-29 16:46:47 +00:00
Andrew Trick
3f3416249a Fix build failures better.
llvm-svn: 140758
2011-09-29 01:22:31 +00:00
Daniel Dunbar
8b3e105420 Fix build failure.
llvm-svn: 140755
2011-09-29 01:14:42 +00:00
Michael J. Spencer
3b747b0b5d llvm-size: Apply Chris's code review fixes.
This doesn't use formated_raw_ostream because it doesn't support the
functionality needed.

llvm-svn: 140751
2011-09-29 00:59:18 +00:00
Michael J. Spencer
4dc1ab6c03 Fix cast.
llvm-svn: 140726
2011-09-28 21:24:44 +00:00
Michael J. Spencer
3e283fe7d4 Add llvm-size.
llvm-svn: 140722
2011-09-28 20:57:46 +00:00
Devang Patel
3605f8423f Introduce llvm-cov.
Add llvm-cov skeleton. It has initial support to read coverage info generated by GCOVProfiling.cpp. 
Today, you can do
prompt> clang a.c -ftest-coverage -fprofile-arcs -o a
prompt> ./a
prompt> llvm-cov -gcno a.gcno -gcda a.gcda 
a.c
 :	#include "a.h"
 :	
 :	int main() {
 :		int i = 0;
 :		if (i) {
1:			int j = 0;
1:			j = 1;
1:		} else {
 :			int k = 1;
 :			k = 2;
 :		}
1:		return 0;
 :	}
 :	
 :	

llvm-svn: 140712
2011-09-28 18:50:00 +00:00
Michael J. Spencer
89e83b38cd Add binary archive support to llvm-nm.
llvm-svn: 140627
2011-09-27 19:37:18 +00:00
Benjamin Kramer
e106715386 llvm-objdump: Detach symbol listing from section enumeration for mach-o.
This reduces memory usage as we don't add the same symbol multiple times anymore.

llvm-svn: 140278
2011-09-21 22:16:43 +00:00
Benjamin Kramer
abc83415a1 llvm-objdump: Take the data from the right object when there's no dSYM around.
llvm-svn: 140269
2011-09-21 18:18:53 +00:00
Benjamin Kramer
e55a93f3a1 llvm-objdump: Fix use after free.
llvm-svn: 140237
2011-09-21 04:01:19 +00:00
Benjamin Kramer
703be6434e llvm-objdump: Output line info next to the disassembly if available.
MachO-only at the moment, sorry.

Usage:
$ llvm-objdump -d -m -g -dsym=a.out.dSYM/Contents/Resources/DWARF/a.out a.out
_main:
100000e90:	55	pushq %rbp	## test.c:11:3
…

llvm-svn: 140224
2011-09-21 01:13:19 +00:00
Benjamin Kramer
c4ca0b476f llvm-objdump: factor code better, add comments.
llvm-svn: 140153
2011-09-20 17:53:01 +00:00
Eric Christopher
e34ce0c720 Remove llvmc from CMake as well.
llvm-svn: 140109
2011-09-20 00:13:13 +00:00
Eric Christopher
92ffa08e9a Remove llvmc and assorted build machinery for it.
The problems that llvmc solved have largely been subsumed with the
tasks that the clang driver can accomplish, but llvmc lacks flexibility
and depends too heavily on the EOL'd llvm-gcc.

llvm-svn: 140093
2011-09-19 23:22:41 +00:00
Benjamin Kramer
0f569dc6bf Nope, there's another one!
llvm-svn: 140045
2011-09-19 20:23:01 +00:00
Benjamin Kramer
804be3463c Missed one instance of implicit pointer conversion.
llvm-svn: 140044
2011-09-19 20:14:46 +00:00
Benjamin Kramer
06a87d562a Try to make MSVC 2010 happy.
llvm-svn: 140042
2011-09-19 20:08:52 +00:00
Benjamin Kramer
82df2a3e37 Add a MachO-specific "mode" to llvm-objdump, that, if enabled, gathers additional information that are only available on MachO.
- It can take FunctionStarts from a binary to find entry points more accurately.
- Symbol offsets in executables are correct now.

llvm-svn: 140028
2011-09-19 17:56:04 +00:00
Chad Rosier
01ea3b0adf Add -rfunc and -rglob options to llvm-extract to support regular
expression matching.

llvm-svn: 139945
2011-09-16 21:09:17 +00:00