Jim Grosbach
8ff25d6968
llvm-mc pass through SourceMgr to MCContext.
...
llvm-svn: 149091
2012-01-26 23:20:07 +00:00
Peter Collingbourne
76e1c8c9ae
llvm-config: Add support for CMake build trees in which the build
...
mode does not form part of the path.
llvm-svn: 149010
2012-01-26 01:31:38 +00:00
David Blaikie
46a9f016c5
More dead code removal (using -Wunreachable-code)
...
llvm-svn: 148578
2012-01-20 21:51:11 +00:00
Nick Lewycky
ecc0084f72
Add a TargetOption for disabling tail calls.
...
llvm-svn: 148442
2012-01-19 00:34:10 +00:00
David Blaikie
b48ed1a4cb
Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary)
...
llvm-svn: 148284
2012-01-17 04:43:56 +00:00
Jim Grosbach
eff0a40d7e
MCJIT support for non-function sections.
...
Move to a by-section allocation and relocation scheme. This allows
better support for sections which do not contain externally visible
symbols.
Flesh out the relocation address vs. local storage address separation a
bit more as well. Remote process JITs use this to tell the relocation
resolution code where the code will live when it executes.
The startFunctionBody/endFunctionBody interfaces to the JIT and the
memory manager are deprecated. They'll stick around for as long as the
old JIT does, but the MCJIT doesn't use them anymore.
llvm-svn: 148258
2012-01-16 22:26:39 +00:00
Eli Bendersky
4c647587b1
Adding a basic ELF dynamic loader and MC-JIT for ELF. Functionality is currently basic and will be enhanced with future patches.
...
Patch developed by Andy Kaylor and Daniel Malea. Reviewed on llvm-commits.
llvm-svn: 148231
2012-01-16 08:56:09 +00:00
Jim Grosbach
9ac4562bea
80 columns.
...
llvm-svn: 147970
2012-01-11 21:23:35 +00:00
Jim Grosbach
93076bc83f
lli should only create memmgr when JITing.
...
llvm-svn: 147969
2012-01-11 21:19:49 +00:00
Jim Grosbach
bf570b98f2
lli should create a JIT memory manager.
...
Previously let the JITEmitter do it. That's rather odd, and doesn't play nice
with the MCJIT, so move the (trivial) logic up.
llvm-svn: 147967
2012-01-11 21:12:51 +00:00
David Blaikie
edbb58c577
Remove unnecessary default cases in switches that cover all enum values.
...
llvm-svn: 147855
2012-01-10 16:47:17 +00:00
Rafael Espindola
5cb98f1062
Remove the logging streamer.
...
llvm-svn: 147820
2012-01-10 00:40:39 +00:00
Rafael Espindola
0708209642
Split Finish into Finish and FinishImpl to have a common place to do end of
...
file error checking. Use that to error on an unfinished cfi_startproc.
The error is not nice, but is already better than a segmentation fault.
llvm-svn: 147717
2012-01-07 03:13:18 +00:00
Nick Lewycky
5079e4dd0b
Remove extraneous ".get()->" which is just "->". No functionality change.
...
llvm-svn: 147379
2011-12-30 19:17:23 +00:00
Bill Wendling
2990ec6e92
Add braces to remove silly warning.
...
llvm-svn: 147264
2011-12-25 06:56:22 +00:00
Rafael Espindola
2d3dac3e87
Remove unused variables.
...
llvm-svn: 147261
2011-12-25 01:20:19 +00:00
Dylan Noblesmith
9e5b178ecc
drop unneeded config.h includes
...
llvm-svn: 147197
2011-12-22 23:04:07 +00:00
David Blaikie
a379b18173
Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch
...
llvm-svn: 146960
2011-12-20 02:50:00 +00:00
Daniel Dunbar
30a8976127
llvm-config: Fix --targets-built, I changed this to use the registry but wasn't
...
properly initializing the target infos. I decided it wasn't worth linking them
in for this, so just switched back to using the Makefile variable for now. We
can reconsider later if we ever get pluggable targets.
llvm-svn: 146711
2011-12-16 00:04:43 +00:00
Daniel Dunbar
c7037f3f81
llvm-config: Update help text for removal of "backend" pseudo component.
...
llvm-svn: 146708
2011-12-15 23:43:17 +00:00
Michael J. Spencer
bc96f37253
llvm-nm: refactor in order to support reading files from stdin.
...
llvm-svn: 146524
2011-12-13 23:17:29 +00:00
Daniel Dunbar
8889bb08b8
LLVMBuild: Introduce a common section which currently has a list of the
...
subdirectories to traverse into.
- Originally I wanted to avoid this and just autoscan, but this has one key
flaw in that new subdirectories can not automatically trigger a rerun of the
llvm-build tool. This is particularly a pain when switching back and forth
between trees where one has added a subdirectory, as the dependencies will
tend to be wrong. This will also eliminates FIXME implicitly.
llvm-svn: 146436
2011-12-12 22:45:54 +00:00
Daniel Dunbar
27a7489a03
LLVMBuild: Remove trailing newline, which irked me.
...
llvm-svn: 146409
2011-12-12 19:48:00 +00:00
Daniel Dunbar
fbc6a892a7
llvm-config: Default to "all" if no components are specified.
...
- Fixes PR11530.
llvm-svn: 146388
2011-12-12 18:22:04 +00:00
Kevin Enderby
e7739d484f
The second part of support for generating dwarf for assembly source files. This
...
generates the dwarf Compile Unit DIE and a dwarf subprogram DIE for each
non-temporary label.
The next part will be to get the clang driver to enable this when assembling
a .s file. rdar://9275556
llvm-svn: 146262
2011-12-09 18:09:40 +00:00
Chad Rosier
dd4ffaec8f
Update bcanalyzer to handle new USELIST_BLOCK/USELIST_CODE_ENTRY.
...
llvm-svn: 146079
2011-12-07 21:45:13 +00:00
Duncan Sands
851e948362
Have cmake build llvm-cov. Patch by arrowdodger.
...
llvm-svn: 146071
2011-12-07 20:54:41 +00:00
Duncan Sands
0f19e91a79
When doing "opt -O2" verify the bitcode like is done for
...
"opt -std-compile-opts".
llvm-svn: 146036
2011-12-07 17:14:20 +00:00
Jim Grosbach
78309c47c7
Tidy up.
...
llvm-svn: 145870
2011-12-05 23:20:14 +00:00
Nick Lewycky
50f02cb21b
Move global variables in TargetMachine into new TargetOptions class. As an API
...
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.
One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.
llvm-svn: 145714
2011-12-02 22:16:29 +00:00
Daniel Dunbar
ab0ad4ed1e
llvm-config: Replace with C++ version (was llvm-config-2).
...
- Another reapply of r144300, with hopefully one last fix.
llvm-svn: 145623
2011-12-01 20:18:09 +00:00
Daniel Dunbar
5a78bb5686
llvm-config-2: Fix --cflags and --includedir which pointed at the wrong
...
directory when running from a build directory.
llvm-svn: 145622
2011-12-01 20:00:19 +00:00
Duncan Sands
b8e6cee9ca
Revert commit 145449 (ddunbar) since it is breaking the dragonegg buildbots.
...
Original commit message:
llvm-config: Replace with C++ version (was llvm-config-2).
- Reapply of r144300, with lots of fixes/migration easement in between.
llvm-svn: 145582
2011-12-01 10:50:19 +00:00
Daniel Dunbar
8d5cc33ad8
llvm-config: Replace with C++ version (was llvm-config-2).
...
- Reapply of r144300, with lots of fixes/migration easement in between.
llvm-svn: 145449
2011-11-29 22:56:31 +00:00
Danil Malyshev
cbe72fc959
Fixed ObjectFile functions:
...
- getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
llvm-svn: 145408
2011-11-29 17:40:10 +00:00
Daniel Dunbar
b074d102a3
edis: Sink EDMain.cpp into lib/MC/MCDisassembler.
...
- This fixes some layering violations and matches how we handle the llvm-c lib,
for example.
llvm-svn: 145338
2011-11-29 00:25:57 +00:00
Daniel Dunbar
d690111dd4
edis: Don't do the target initialization in EDGetDisassembler, this is contrary
...
to the way we currently expect target selection to work -- clients are supposed
to have control over what targets are available.
llvm-svn: 145331
2011-11-29 00:06:58 +00:00
Daniel Dunbar
2266cfcc77
build/Make: edis isn't built as a shared library anymore, remove related cruft from the Makefile.
...
llvm-svn: 145329
2011-11-29 00:06:53 +00:00
Chandler Carruth
37ab257b88
Revert r145180 as it is causing test failures on all the bots.
...
Original commit message:
Fixed ObjectFile functions:
- getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
llvm-svn: 145182
2011-11-27 10:37:47 +00:00
Danil Malyshev
2631f93f7d
Fixed ObjectFile functions:
...
- getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
llvm-svn: 145180
2011-11-27 10:12:52 +00:00
Chris Lattner
1c9e5678b8
remove support for reading llvm 2.9 .bc files. LLVM 3.1 is only compatible back to 3.0
...
llvm-svn: 145164
2011-11-27 05:48:27 +00:00
Rafael Espindola
5d03d46127
Point to libLTO with -L/PATH/ -lLTO so that it is found in the install
...
directory.
Patch by Markus Trippelsdorf.
llvm-svn: 145095
2011-11-23 03:07:25 +00:00
Evan Cheng
ecb2908bf9
Sink codegen optimization level into MCCodeGenInfo along side relocation model
...
and code model. This eliminates the need to pass OptLevel flag all over the
place and makes it possible for any codegen pass to use this information.
llvm-svn: 144788
2011-11-16 08:38:26 +00:00
Michael J. Spencer
53723de5b8
llvm-objdump: Ignore non-objects in archives.
...
llvm-svn: 144755
2011-11-16 01:24:41 +00:00
Benjamin Kramer
1f97a5a671
Remove all remaining uses of Value::getNameStr().
...
llvm-svn: 144648
2011-11-15 16:27:03 +00:00
Daniel Dunbar
b102d5cb66
llvm-config-2: Detect when we are running out of a BuildTools development tree, so that we can always provide library/include information for the real build directory.
...
llvm-svn: 144420
2011-11-11 22:59:47 +00:00
Daniel Dunbar
57fb3ae997
LLVMBuild: Add description files for the LLVM tools.
...
llvm-svn: 144417
2011-11-11 22:59:39 +00:00
Benjamin Kramer
f554228d82
Clients are responsible for initializing the targets, remove it from the disassembler API.
...
This will break users of the LLVMCreateDisasm API (not that I know of any). They have to call the
LLVMInitializeAll* functions from llvm-c/Target.h themselves now. edis' C API in all its horribleness
should be unaffected.
llvm-svn: 144385
2011-11-11 13:20:40 +00:00
Daniel Dunbar
933b43f188
Revert r144300 "llvm-config: Replace with C++ version (was llvm-config-2).",
...
which didn't appear ready for prime time.
llvm-svn: 144309
2011-11-10 19:59:35 +00:00
Daniel Dunbar
166c804893
llvm-config: Replace with C++ version (was llvm-config-2).
...
llvm-svn: 144300
2011-11-10 18:49:59 +00:00
Daniel Dunbar
f5b9658a25
llvm-config-2: Use USEDLIBS directly instead of LINK_COMPONENTS, which will
...
require this tool to resolve (currently).
llvm-svn: 144299
2011-11-10 18:49:50 +00:00
Daniel Dunbar
fe999b4799
llvm-config-2: Fix thinko in maintenance of visited component set.
...
llvm-svn: 144291
2011-11-10 14:53:23 +00:00
Daniel Dunbar
5d9ae5ca23
llvm-config: Drop 'backend' pseudo-component. We don't support/qualify the CBE
...
enough to have this be useful.
llvm-svn: 144202
2011-11-09 19:23:15 +00:00
Daniel Dunbar
7b44212e3c
llvm-config-2: Switch to using real library dependency table.
...
- Also, fix a refacto that left extra "all" component in list (this is now
defined in the groups explicitly)
- Reapply of r143879 now that Make should see needed deps.
llvm-svn: 144201
2011-11-09 19:14:51 +00:00
John McCall
a6db70b049
Use isa<> instead of dyn_cast<> as suggested by Nick.
...
Should've read the patch a bit closer, sorry.
llvm-svn: 144164
2011-11-09 03:26:50 +00:00
John McCall
5ded03d873
Fix the printing of constants. Patch by Stepan Dyatkovskiy!
...
llvm-svn: 144079
2011-11-08 06:53:04 +00:00
Owen Anderson
7635bb7ae2
Fix llvm-objdump's MachO mode to not depend on the value returned by RelocationRef::getInfo().
...
llvm-svn: 143966
2011-11-07 17:21:36 +00:00
Daniel Dunbar
490aa6fd87
Revert "llvm-config-2: Switch to using real library dependency table." while I
...
investigate build failure.
llvm-svn: 143888
2011-11-06 19:57:04 +00:00
Daniel Dunbar
b7e86d4ee2
llvm-config: Users are allowed to provide component names in mixed case.
...
llvm-svn: 143881
2011-11-06 18:04:49 +00:00
Daniel Dunbar
6b45852819
llvm-config-2: Switch to using real library dependency table.
...
- Also, fix a refacto that left extra "all" component in list (this is now
defined in the groups explicitly)
llvm-svn: 143879
2011-11-06 18:04:23 +00:00
Benjamin Kramer
f3da529028
Add more PRI.64 macros for MSVC and use them throughout the codebase.
...
llvm-svn: 143799
2011-11-05 08:57:40 +00:00
Peter Collingbourne
e5ddfa5ba1
Now that the linker supports lazily materialising globals, don't
...
materialise them in LTO.
I observed a ~0.5-1% speedup for an LTO link of opt.
llvm-svn: 143784
2011-11-05 04:17:25 +00:00
Peter Collingbourne
00221ce63d
Use absolute path to exportsfile in gold plugin CMake build.
...
(Ninja generator requirement.)
llvm-svn: 143783
2011-11-05 04:17:20 +00:00
Bill Wendling
5f689e7b3a
Reformatting changes to get rid of blank lines, put code on one line, and to
...
decrease some code indentation. No intended functional changes.
llvm-svn: 143723
2011-11-04 18:48:00 +00:00
Bill Wendling
019392bd4a
Move comment to the correct place.
...
llvm-svn: 143690
2011-11-04 09:34:06 +00:00
Bill Wendling
a2af67493c
Make the Mangler an ivar so that it doesn't have to be passed around everywhere.
...
llvm-svn: 143689
2011-11-04 09:30:19 +00:00
Bill Wendling
ac2abde903
Refactor the MCContext so that it's an ivar instead of a local which is passed
...
around. This is important for some future work as well.
llvm-svn: 143688
2011-11-04 09:24:40 +00:00
Daniel Dunbar
803b761cbb
llvm-config-2: Implement build system support for getting the variables we only
...
know at build time.
llvm-svn: 143649
2011-11-03 21:01:36 +00:00
Daniel Dunbar
bf9bba47a1
build: Add initial cut at LLVMBuild.txt files.
...
llvm-svn: 143634
2011-11-03 18:53:17 +00:00
Daniel Dunbar
fa400a140b
llvm-config-2: Implement component dependency traversal, implement support for 'all', and fix a few other minor bugs.
...
- Still doesn't use actual generated component table, but that is now just a matter of wiring into the build system.
llvm-svn: 143617
2011-11-03 17:30:19 +00:00
Daniel Dunbar
b0f7a1472b
llvm-config: Start stubbing out a C++ version of llvm-config (as llvm-config-2,
...
for now).
- Mostly complete except for the data that needs to come from the build system
or the dependencies.
- Has some small improvements from current llvm-config:
o Uses TargetRegistry directly to get some information.
o Designed to work correctly when used from a CMake build tree (relatively
untested currently) (although pcc fixed this recently for old llvm-config).
llvm-svn: 143616
2011-11-03 17:30:16 +00:00
Chad Rosier
9589872af9
Remove some cruft from the BitcodeWriter, while still maintaining backward
...
compatibility in the BitcodeReader.
llvm-svn: 143598
2011-11-03 00:14:01 +00:00
Chandler Carruth
76f9e57145
Add back the top-level target for 'llvm-config' and the dependency edge
...
to force it to build after all library targets so it has complete
dependency information. This should fix broken 'make install' with
CMake.
This is a partial revert of r143540, but it doesn't revert the most
important part of that change: removing the dependency edge from LLVM
tools to the llvm-config script.
llvm-svn: 143548
2011-11-02 17:22:57 +00:00
Daniel Dunbar
bcafe5f84d
build/Make: Get rid of llvm-config-perobj, which isn't used anymore.
...
llvm-svn: 143541
2011-11-02 15:56:52 +00:00
Daniel Dunbar
ab527acc09
build/CMake: Remove llvm-config.target used to serialize tool builds on
...
llvm-config build, there is no longer a point to this after Chandler's work.
llvm-svn: 143540
2011-11-02 15:56:38 +00:00
Kevin Enderby
6469fc275a
First part of support for generating dwarf for assembly source files with the
...
-g flag. In this part we generate the .file for the source being assembled and
the .loc's for the assembled instructions.
The next part will be to generate the dwarf Compile Unit DIE and a dwarf
subprogram DIE for each non-temporary label.
Once the next part is done test cases will be added. rdar://9275556
llvm-svn: 143509
2011-11-01 22:27:22 +00:00
Sebastian Pop
94441fbad7
rename getHostTriple into getDefaultTargetTriple
...
llvm-svn: 143502
2011-11-01 21:32:20 +00:00
Eli Friedman
d4e02a50ba
A couple misc fixes so that bugpoint doesn't explode reducing code containing landingpads.
...
llvm-svn: 143435
2011-11-01 04:40:56 +00:00
Nick Lewycky
aab6169ef6
Switch new .file directive emission off by default, change llc's flag for it to
...
-enable-dwarf-directory.
llvm-svn: 143326
2011-10-31 01:06:02 +00:00
Stepan Dyatkovskiy
07c0d4091f
uint64 formatted output: replaced %llx with PRIx64 macro.
...
llvm-svn: 143191
2011-10-28 13:07:32 +00:00
Peter Collingbourne
16dab1bada
Have llvm-config --cppflags print correct flags when in CMake build directory
...
Previously, if invoked from a CMake build directory, 'llvm-config
--cppflags' and friends would only print a -I flag for the build
directory's header search path, because it would assume that it was
already installed, not recognising its parent directory as being the
build directory. Teach llvm-config about CMake build directories
so that it prints a -I for both the source and build directory's
search paths.
llvm-svn: 143171
2011-10-28 01:02:16 +00:00
Dan Gohman
4c9fca99c9
Remove the Alpha backend.
...
llvm-svn: 143164
2011-10-27 22:56:32 +00:00
Owen Anderson
bf3bc1db22
Revert r143149, stubbing out symbolic disassembly support. The symbolic disassembly support is too MC-engrained to be useful in llvm-objdump.
...
llvm-svn: 143152
2011-10-27 21:55:13 +00:00
Owen Anderson
8f167d4861
Stub out support for symbol disassembly in llvm-objdump.
...
llvm-svn: 143149
2011-10-27 21:46:31 +00:00
Stepan Dyatkovskiy
4b96dc7167
Fixed llvm-objdump uint64_t formatted output.
...
llvm-svn: 143120
2011-10-27 18:40:45 +00:00
Owen Anderson
7be76590e6
Expand relocation type field to 64 bits. MachO scattered relocations require 33 bits of type info.
...
llvm-svn: 143032
2011-10-26 17:08:49 +00:00
Michael J. Spencer
839b7b1255
llvm-nm: Use correct format string. Patch by Stepan Dyatkovskiy!
...
llvm-svn: 142984
2011-10-25 22:45:47 +00:00
Owen Anderson
fa3e5200b8
Add support for the notion of "hidden" relocations. On MachO, these are relocation entries that are used as additional information for other, real relocations, rather than being relocations themselves.
...
I'm not familiar enough with ELF or COFF to know if they should have any relocations marked hidden.
llvm-svn: 142961
2011-10-25 20:35:53 +00:00
Owen Anderson
f20e3e5774
Fix off-by-one error when printing relocations inline with disassembly.
...
llvm-svn: 142952
2011-10-25 20:15:39 +00:00
Michael J. Spencer
bfa067862c
llvm-objdump: Add static symbol table dumping.
...
llvm-svn: 142404
2011-10-18 19:32:17 +00:00
Daniel Dunbar
96d812a68d
build: Tidy up a bunch of tool Makefiles, and simplify where possible using the
...
new all-targets pseudo-component.
llvm-svn: 142401
2011-10-18 19:27:24 +00:00
Daniel Dunbar
627b2b06f6
llvm-ar: Remove local test target, this is no longer useful.
...
llvm-svn: 142400
2011-10-18 19:27:10 +00:00
Daniel Dunbar
5a96e6f9ed
llvm-config: Add an all-targets pseudo-component.
...
llvm-svn: 142399
2011-10-18 19:27:08 +00:00
Michael J. Spencer
81c80ddb0c
Revert "llvm-objdump: Add static symbol table dumping."
...
This reverts commit 0c30d4e4f5f9110c5a67bd0ca84444dc58697596.
llvm-svn: 142320
2011-10-18 00:17:04 +00:00
Michael J. Spencer
6b22ef8af2
llvm-objdump: Add static symbol table dumping.
...
llvm-svn: 142319
2011-10-17 23:55:22 +00:00
Nick Lewycky
40f8f2ff24
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
d9243c4689
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
4e25c02487
llvm-objdump: Add -s, which prints the contents of each section.
...
llvm-svn: 142199
2011-10-17 17:13:22 +00:00
NAKAMURA Takumi
46282e4a3e
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
03b80a4027
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
a3a0681083
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
bccadaf1a3
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
914f1924e0
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
51862b3890
llvm-object: Add inline relocation information to disassembly.
...
llvm-svn: 141897
2011-10-13 22:17:18 +00:00
Michael J. Spencer
8f67d47d0d
llvm-objdump: Fix whitespace.
...
llvm-svn: 141886
2011-10-13 20:37:20 +00:00
Michael J. Spencer
ee84f64f0b
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
bd926cbdb5
llvm-objdump.cpp: Use PRIx64 as format specifier for int64_t.
...
llvm-svn: 141664
2011-10-11 12:51:50 +00:00
Tanya Lattner
cbb9140806
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
fcf8462583
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
357d7dcbf4
llvm-objdump: Take ownership of MCInstrInfos.
...
llvm-svn: 141535
2011-10-10 13:10:09 +00:00
Benjamin Kramer
4d8c0e791e
llvm-nm: Don't leak bitcode buffers.
...
llvm-svn: 141534
2011-10-10 13:10:04 +00:00
Michael J. Spencer
ba4a362276
llvm-objdump: Add relocation and archive support.
...
llvm-svn: 141451
2011-10-08 00:18:30 +00:00
Michael J. Spencer
5fd56b8302
Fix a few changes I missed.
...
llvm-svn: 141392
2011-10-07 19:52:41 +00:00
Michael J. Spencer
cfb6cc7b14
Fix GCC again.
...
llvm-svn: 141389
2011-10-07 19:46:12 +00:00
Michael J. Spencer
c1363cf21a
Fix spelling in comment.
...
llvm-svn: 141386
2011-10-07 19:25:47 +00:00
Michael J. Spencer
e5fd004719
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
206d8a7f48
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
350c71b2d8
Fix spelling in comment.
...
llvm-svn: 141377
2011-10-07 18:15:40 +00:00
Michael J. Spencer
b0d61540cb
Change relocation API to be per section.
...
llvm-svn: 141376
2011-10-07 18:15:25 +00:00
Devang Patel
0a2fd00de5
Update cmake list.
...
llvm-svn: 141104
2011-10-04 19:38:16 +00:00
Devang Patel
8dfb65516b
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
b3334f9f43
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
e5a8f2f9f3
Simplify.
...
llvm-svn: 140789
2011-09-29 17:06:40 +00:00
Devang Patel
eec5c5bf6e
Clarify comments.
...
llvm-svn: 140787
2011-09-29 16:52:53 +00:00
Devang Patel
1e6ee351fc
Remove unnecessary and unused data member.
...
llvm-svn: 140786
2011-09-29 16:48:44 +00:00
Devang Patel
a9e8a2504c
Cosmetic changes, as per Nick's review.
...
llvm-svn: 140785
2011-09-29 16:46:47 +00:00
Andrew Trick
7dc278dc52
Fix build failures better.
...
llvm-svn: 140758
2011-09-29 01:22:31 +00:00
Daniel Dunbar
9a6fa7cf3d
Fix build failure.
...
llvm-svn: 140755
2011-09-29 01:14:42 +00:00
Michael J. Spencer
cc5f8d4517
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
7f168777e5
Fix cast.
...
llvm-svn: 140726
2011-09-28 21:24:44 +00:00
Michael J. Spencer
c4ad46605e
Add llvm-size.
...
llvm-svn: 140722
2011-09-28 20:57:46 +00:00
Devang Patel
3714065a94
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
2bc774ac1a
Add binary archive support to llvm-nm.
...
llvm-svn: 140627
2011-09-27 19:37:18 +00:00
Benjamin Kramer
8a529dc10a
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
37a7151b1f
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
9eaefa9786
llvm-objdump: Fix use after free.
...
llvm-svn: 140237
2011-09-21 04:01:19 +00:00
Benjamin Kramer
699128e58a
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
2ad2eb527b
llvm-objdump: factor code better, add comments.
...
llvm-svn: 140153
2011-09-20 17:53:01 +00:00
Eric Christopher
a8ce0324e9
Remove llvmc from CMake as well.
...
llvm-svn: 140109
2011-09-20 00:13:13 +00:00
Eric Christopher
4b0ae48614
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
444f079d34
Nope, there's another one!
...
llvm-svn: 140045
2011-09-19 20:23:01 +00:00
Benjamin Kramer
babc5291f4
Missed one instance of implicit pointer conversion.
...
llvm-svn: 140044
2011-09-19 20:14:46 +00:00
Benjamin Kramer
78ee973788
Try to make MSVC 2010 happy.
...
llvm-svn: 140042
2011-09-19 20:08:52 +00:00
Benjamin Kramer
43a772eda1
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
f0d3786945
Add -rfunc and -rglob options to llvm-extract to support regular
...
expression matching.
llvm-svn: 139945
2011-09-16 21:09:17 +00:00
Owen Anderson
a0c3b97221
Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations.
...
llvm-svn: 139876
2011-09-15 23:38:46 +00:00
Ivan Krasin
639222d090
use 64-bit types instead of off_t/size_t to avoid the issue when
...
gold plugin is built with Large File Support (sizeof(off_t) == 64 on i686)
and the rest of LLVM is built w/o Large File Support
(sizeof(off_t) == 32 on i686) which corrupts the stack.
llvm-svn: 139873
2011-09-15 23:13:00 +00:00
Benjamin Kramer
4d9924f950
llvm-dwarfdump: Add an option to print out line info for a specific address
...
Usage:
$ llvm-dwarfdump -address=0x0000000100000ed4 a.out.dSYM/Contents/Resources/DWARF/a.out
xxx.c:6:0
llvm-svn: 139850
2011-09-15 21:17:40 +00:00
Benjamin Kramer
07d4b1c455
DWARF: wire up .debug_str dumping.
...
llvm-svn: 139799
2011-09-15 16:57:13 +00:00
Benjamin Kramer
5acab501de
DWARF: Add basic support for line tables.
...
The llvm-dwarfdump output isn't very verbose yet.
llvm-svn: 139771
2011-09-15 02:12:05 +00:00
Benjamin Kramer
973b5cde7e
llvm-dwarfdump: Make the "is debug info section" heuristic stricter so it doesn't accidentaly picks up the wrong section.
...
Also add some validation code to the aranges section parser.
Fixes PR10926.
llvm-svn: 139701
2011-09-14 17:28:13 +00:00
Benjamin Kramer
75d1cf3391
Object: make the following changes into SymbolRef
...
- Add enum SymbolType and function getSymbolType()
- Add function isGlobal() - it's returns true for symbols that can be used in another objects, such as library functions.
- Rename function getAddress() to getOffset() and add new function getAddress(), because currently getAddress() returns section offset of symbol first byte. new getAddress() return symbol address.
- Change usage SymbolRef::getAddress() to getOffset() in tools/llvm-nm and tools/llvm-objdump.
Patch by Danil Malyshev!
llvm-svn: 139683
2011-09-14 01:22:52 +00:00
Benjamin Kramer
a6002fd920
DWARF: Port support for parsing .debug_aranges section from LLDB and wire it up to llvm-dwarfdump.
...
This is only one half of it, the part that caches address ranges from the DIEs when .debug_aranges is
not available will be ported soon.
llvm-svn: 139680
2011-09-14 01:09:52 +00:00
Benjamin Kramer
aa2f78f5e6
Sketch out a DWARF parser.
...
This introduces a new library to LLVM: libDebugInfo. It will provide debug information
parsing to LLVM. Much of the design and some of the code is taken from the LLDB project.
It also contains an llvm-dwarfdump tool that can dump the abbrevs and DIEs from an
object file. It can be used to write tests for DWARF input and output easily.
llvm-svn: 139627
2011-09-13 19:42:23 +00:00
Ivan Krasin
5021af51d9
gold plugin: don't report error on non-bitcode (e.g. ELF) files.
...
llvm-svn: 139544
2011-09-12 21:47:50 +00:00
Ivan Krasin
d5f2d8c341
gold plugin: report errors occured in lto_module_create_from_*
...
llvm-svn: 139340
2011-09-09 00:14:04 +00:00
Ivan Krasin
cc2a801f64
lto/addAsmGlobalSymbols: fast path when no module level asm is present.
...
llvm-svn: 139284
2011-09-08 07:38:25 +00:00
Ivan Krasin
8149dd6619
lto/addAsmGlobalSymbols: fail fracefully when the target does not define AsmParser.
...
llvm-svn: 139283
2011-09-08 07:36:39 +00:00
James Molloy
4c493e8050
Refactor instprinter and mcdisassembler to take a SubtargetInfo. Add -mattr= handling to llvm-mc. Reviewed by Owen Anderson.
...
llvm-svn: 139237
2011-09-07 17:24:38 +00:00
Chandler Carruth
908abc3439
As a (rather delayed) followup to r136738 which stopped building the
...
edis shared library in the Makefile build, also stop building it in the
CMake build.
Patch by arrowdodger!
llvm-svn: 139108
2011-09-04 23:32:05 +00:00
Benjamin Kramer
6397051ece
Don't drop alignment info on local common symbols.
...
- On COFF the .lcomm directive has an alignment argument.
- On ELF we fall back to .local + .comm
Based on a patch by NAKAMURA Takumi.
Fixes PR9337, PR9483 and PR10128.
llvm-svn: 138976
2011-09-01 23:04:27 +00:00
Benjamin Kramer
58298f028c
Teach macho-dump to dump the uleb128s referred to by linkedit_data segments.
...
llvm-svn: 138836
2011-08-30 22:10:58 +00:00
Benjamin Kramer
267a6d92fa
Teach macho-dump how to dump linkedit_data load commands.
...
llvm-svn: 138807
2011-08-30 18:33:37 +00:00
Evan Cheng
2bb4035707
Move TargetRegistry and TargetSelect from Target to Support where they belong.
...
These are strictly utilities for registering targets and components.
llvm-svn: 138450
2011-08-24 18:08:43 +00:00
Evan Cheng
4d6c9d711d
Some refactoring so TargetRegistry.h no longer has to include any files
...
from MC.
llvm-svn: 138367
2011-08-23 20:15:21 +00:00
John Criswell
bae1c0b23b
Fixed compilation warning on Linux by fixing the type of a return value.
...
llvm-svn: 137913
2011-08-18 01:19:05 +00:00
Owen Anderson
a4043c4b32
Allow the MCDisassembler to return a "soft fail" status code, indicating an instruction that is disassemblable, but invalid. Only used for ARM UNPREDICTABLE instructions at the moment.
...
Patch by James Molloy.
llvm-svn: 137830
2011-08-17 17:44:15 +00:00
Jim Grosbach
345768c9ff
Remove unused Target argument from AsmParser construction methods.
...
The argument is unused, and is a layering violation in any case.
llvm-svn: 137735
2011-08-16 18:33:49 +00:00
Nick Lewycky
45fc2a6a9b
Fix bugpoint fallout from the new type system.
...
llvm-svn: 137467
2011-08-12 17:25:45 +00:00
Duncan Sands
a41634e307
Silence a bunch (but not all) "variable written but not read" warnings
...
when building with assertions disabled.
llvm-svn: 137460
2011-08-12 14:54:45 +00:00
Benjamin Kramer
c22d50e5c3
Add MCInstrAnalysis class. This allows the targets to specify own versions of MCInstrDescs functions.
...
- Add overrides for ARM.
- Teach llvm-objdump to use this instead of plain MCInstrDesc.
llvm-svn: 137059
2011-08-08 18:56:44 +00:00
Benjamin Kramer
4c0423bc8f
llvm-objdump: disassembly enhancements
...
- Indent simple loops
- Print unreachable blocks as .byte directives
llvm-svn: 137058
2011-08-08 18:41:34 +00:00
Benjamin Kramer
5d173c0dab
llvm-objdump: Use help of CFG to print assembly when --cfg is passed.
...
This way we can avoid printing unreachable code (data).
llvm-svn: 137057
2011-08-08 18:32:12 +00:00
Bill Wendling
2d3138c112
Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets.
...
This is some of my original LLVM code. *wipes tear*
llvm-svn: 136821
2011-08-03 22:18:20 +00:00
Evan Cheng
bbb1d7a095
Kill the export list as well.
...
llvm-svn: 136814
2011-08-03 21:07:01 +00:00
Evan Cheng
fd7f6c9438
lldb doesn't need the edis dylib any more.
...
llvm-svn: 136738
2011-08-02 22:53:48 +00:00
Rafael Espindola
3ea478b7ac
Move methods in PassManagerBuilder offline.
...
llvm-svn: 136727
2011-08-02 21:50:27 +00:00
Rafael Espindola
591eaa481e
move PassManagerBuilder.h to IPO. This is a non intuitive place to put it,
...
but it solves a layering violation since things in Support are not supposed to
use things in Transforms.
llvm-svn: 136726
2011-08-02 21:50:24 +00:00
Douglas Gregor
72a9716073
Switch the CMake edis build over to add_llvm_library_dependencies
...
llvm-svn: 136463
2011-07-29 15:41:39 +00:00
Chandler Carruth
9d7feab3e0
Rewrite the CMake build to use explicit dependencies between libraries,
...
specified in the same file that the library itself is created. This is
more idiomatic for CMake builds, and also allows us to correctly specify
dependencies that are missed due to bugs in the GenLibDeps perl script,
or change from compiler to compiler. On Linux, this returns CMake to
a place where it can relably rebuild several targets of LLVM.
I have tried not to change the dependencies from the ones in the current
auto-generated file. The only places I've really diverged are in places
where I was seeing link failures, and added a dependency. The goal of
this patch is not to start changing the dependencies, merely to move
them into the correct location, and an explicit form that we can control
and change when necessary.
This also removes a serialization point in the build because we don't
have to scan all the libraries before we begin building various tools.
We no longer have a step of the build that regenerates a file inside the
source tree. A few other associated cleanups fall out of this.
This isn't really finished yet though. After talking to dgregor he urged
switching to a single CMake macro to construct libraries with both
sources and dependencies in the arguments. Migrating from the two macros
to that style will be a follow-up patch.
Also, llvm-config is still generated with GenLibDeps.pl, which means it
still has slightly buggy dependencies. The internal CMake
'llvm-config-like' macro uses the correct explicitly specified
dependencies however. A future patch will switch llvm-config generation
(when using CMake) to be based on these deps as well.
This may well break Windows. I'm getting a machine set up now to dig
into any failures there. If anyone can chime in with problems they see
or ideas of how to solve them for Windows, much appreciated.
llvm-svn: 136433
2011-07-29 00:14:25 +00:00
Evan Cheng
e64f0e52ea
Fix llvm-mc target detection code to match llc.
...
llvm-svn: 136115
2011-07-26 19:02:16 +00:00
Nick Lewycky
1fcd0f1581
Don't try to dereference syms[0] on an empty vector. Reported by Todd Jackson
...
and Jeffrey Bosboom!
llvm-svn: 136066
2011-07-26 08:40:36 +00:00
Evan Cheng
3a79225b4c
Rename createCodeEmitter to createMCCodeEmitter; createObjectStreamer to createMCObjectStreamer.
...
llvm-svn: 136031
2011-07-26 00:42:34 +00:00
Evan Cheng
1142444565
Rename TargetAsmParser to MCTargetAsmParser and TargetAsmLexer to MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser.
...
llvm-svn: 136027
2011-07-26 00:24:13 +00:00
Evan Cheng
5928e69d20
Rename TargetAsmBackend to MCAsmBackend; rename createAsmBackend to createMCAsmBackend.
...
llvm-svn: 136010
2011-07-25 23:24:55 +00:00
Benjamin Kramer
9ea35e470c
I will save before I commit.
...
I will save before I commit.
I will save before I commit.
I will save before I commit.
llvm-svn: 136007
2011-07-25 23:10:23 +00:00
Benjamin Kramer
bf11531492
llvm-objdump: Ignore unreachable blocks when printing the CFG.
...
llvm-svn: 136000
2011-07-25 23:04:36 +00:00
Evan Cheng
61faa55b74
Separate MCInstPrinter registration from AsmPrinter registration.
...
llvm-svn: 135974
2011-07-25 21:20:24 +00:00
Nick Lewycky
85a19aa333
Fix typo.
...
llvm-svn: 135971
2011-07-25 21:12:44 +00:00
Evan Cheng
f60768a14e
Fix last bits of MC layer issues. llvm-mc doesn't need to initialize TargetMachine's anymore.
...
llvm-svn: 135963
2011-07-25 20:53:02 +00:00
Oscar Fuentes
db96ee8bbf
Builds llvmc and its examples with CMake.
...
Patch by arrowdodger!
llvm-svn: 135919
2011-07-25 17:25:10 +00:00
Oscar Fuentes
4623678a75
Fixes VS support for llvmc mcc16 llvmc example.
...
Patch by arrowdodger!
llvm-svn: 135918
2011-07-25 17:24:54 +00:00
Evan Cheng
f2596bc62a
Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong.
...
llvm-svn: 135833
2011-07-23 00:45:41 +00:00
Evan Cheng
8c886a40d2
Combine all MC initialization routines into one. e.g. InitializeX86MCAsmInfo,
...
InitializeX86MCInstrInfo, etc. are combined into InitializeX86TargetMC.
llvm-svn: 135812
2011-07-22 21:58:54 +00:00
Benjamin Kramer
39e05ac3d7
llvm-objdump: Don't ignore errors from raw_fd_ostream.
...
llvm-svn: 135787
2011-07-22 18:35:11 +00:00
Benjamin Kramer
cb2d7bee35
llvm-objdump: Skip branches that leave the current function.
...
In "normal" code these only happen when disassembling data, so we
won't lose anything if we just drop them.
llvm-svn: 135786
2011-07-22 18:35:09 +00:00
Chandler Carruth
2d71c421f9
Move the registered target printing in version strings completely out of
...
the Support library. Now its part of the TargetRegistry, and the three
commands that care about this explicitly register this extra bit of
version information.
The set of commands which care was computed by intersecting those which
use the Support library's version string printing and those that
initialize all the registered targets in a way that produces
a meaningful list. The only odd ball out is that 'clang -cc1as -version'
no longer prints the registered targets. I don't think anyone is really
interested in that (especially as the fact that llvm-mc does so is under
a FIXME), but if someone really does want this back I'll happily apply
the same patch there.
llvm-svn: 135757
2011-07-22 07:50:48 +00:00
Jay Foad
ed8db7d9df
Convert ConstantExpr::getGetElementPtr and
...
ConstantExpr::getInBoundsGetElementPtr to use ArrayRef.
llvm-svn: 135673
2011-07-21 14:31:17 +00:00
Francois Pichet
7f023ae4bb
Unbreak the MSVC build. Since the "next" function already exists in the MSVC headers, we need the explicit llvm:: qualifier to prevent a conflict.
...
llvm-svn: 135623
2011-07-20 21:35:29 +00:00
Evan Cheng
bbf3b0de8b
Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.
...
There is still a bit more refactoring left to do in Targets. But we are now very
close to fixing all the layering issues in MC.
llvm-svn: 135611
2011-07-20 19:50:42 +00:00