| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function sets the `_exportDynamic' ivar. When that's set, we export all
symbols (e.g. we don't run the internalize pass). This is equivalent to the
`--export-dynamic' linker flag in GNU land:
--export-dynamic
When creating a dynamically linked executable, add all symbols to the dynamic
symbol table. The dynamic symbol table is the set of symbols which are visible
from dynamic objects at run time. If you do not use this option, the dynamic
symbol table will normally contain only those symbols which are referenced by
some dynamic object mentioned in the link. If you use dlopen to load a dynamic
object which needs to refer back to the symbols defined by the program, rather
than some other dynamic object, then you will probably need to use this option
when linking the program itself.
The Darwin linker will support this via the `-export_dynamic' flag. We should
modify clang to support this via the `-rdynamic' flag.
llvm-svn: 169656
|
| |
|
|
|
|
|
|
|
| |
It was a nasty oversight that we didn't include this when we added this
API in the first place. Blech.
rdar://12839439
llvm-svn: 169653
|
| |
|
|
|
|
| |
these offsets are guaranteed to be correct by Endian.h.
llvm-svn: 169438
|
| |
|
|
|
|
|
|
|
|
| |
The new command line option -unwind-info dumps the Win64 EH unwind
data to the console. This is a nice feature if you need to debug
generated EH data (e.g. from LLVM). Includes a test case.
Initial patch by João Matos, extensions and rework by Kai Nacke.
llvm-svn: 169415
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is for the lldb team so most of but not all of the values are
to be printed as hex with this option. Some small values like the
scale in an X86 address were requested to printed in decimal
without the leading 0x.
There may be some tweaks need to places that may still be in
decimal that they want in hex. Specially for arm. I made my best
guess. Any tweaks from here should be simple.
I also did the best I know now with help from the C++ gurus
creating the cleanest formatImm() utility function and containing
the changes. But if someone has a better idea to make something
cleaner I'm all ears and game for changing the implementation.
rdar://8109283
llvm-svn: 169393
|
| |
|
|
|
|
|
|
| |
Again, tools are trickier to pick the main module header for than
library source files. I've started to follow the pattern of using
LLVMContext.h when it is included as a stub for program source files.
llvm-svn: 169252
|
| |
|
|
|
|
|
|
| |
This causes llc to repeat the module compilation N times, making it
possible to get more accurate information from -time-passes when
compiling small modules.
llvm-svn: 169040
|
| |
|
|
|
|
|
|
|
|
|
|
| |
depends on the IR infrastructure, there is no sense in it being off in
Support land.
This is in preparation to start working to expand InstVisitor into more
special-purpose visitors that are still generic and can be re-used
across different passes. The expansion will go into the Analylis tree
though as nothing in VMCore needs it.
llvm-svn: 168972
|
| |
|
|
|
|
|
| |
start up and clean up module passes, now that ASAN and TSAN are fixed the
tests pass
llvm-svn: 168905
|
| |
|
|
|
|
|
| |
This is for backwards compatibility for pre-3.x bc files. The code reads the
code, but does nothing with it.
llvm-svn: 168779
|
| |
|
|
|
|
| |
The functionality of SectionMemoryManager is equivalent to the LLIMCJITMemoryManager being replaced except that it allocates memory as RW and later changes it to RX or R as needed. The page permissions are set in the call to MCJIT::finalizeObject.
llvm-svn: 168722
|
| |
|
|
|
|
| |
The dependent libraries feature was never used and has bit-rotted. Remove it.
llvm-svn: 168694
|
| |
|
|
|
|
| |
setting.
llvm-svn: 168665
|
| |
|
|
|
|
|
|
| |
doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model".
It appears to have broken at least one buildbot.
llvm-svn: 168654
|
| |
|
|
|
|
|
|
| |
doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model
Patch by Pedro Artigas, with feedback from by Chandler Carruth.
llvm-svn: 168635
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Necessary to give disassembler users (like darwin's otool) a possibility to
dlopen libLTO and still initialize the required LLVM bits. This used to go
through libMCDisassembler but that's a gross layering violation, the MC layer
can't pull in functions from the targets. Adding a function to libLTO is a bit
of a hack but not worse than exposing other disassembler bits from libLTO.
Fixes PR14362.
llvm-svn: 168545
|
| |
|
|
|
|
|
|
|
| |
it will expand any .cfi_* directives in the input assembly.
Unfortunately this cannot replace elf-dump in tests as the asm streamer
cannot relax the line advance opcodes.
llvm-svn: 168522
|
| |
|
|
| |
llvm-svn: 168459
|
| |
|
|
|
|
| |
conformant to binutils objdump.
llvm-svn: 168393
|
| |
|
|
|
|
|
|
| |
emitted in @main().
XFAIL(s) can be removed.
llvm-svn: 168282
|
| |
|
|
|
|
| |
permissions after an object has been loaded.
llvm-svn: 168114
|
| |
|
|
|
|
|
|
| |
them to be re-initialized and reused on multiple Module's.
Patch by Pedro Artigas.
llvm-svn: 168008
|
| |
|
|
| |
llvm-svn: 167866
|
| |
|
|
| |
llvm-svn: 167853
|
| |
|
|
| |
llvm-svn: 167757
|
| |
|
|
| |
llvm-svn: 167730
|
| |
|
|
|
|
| |
DIContext. This is needed to prevent crashes because of dangling reference if the clients don't provide RelocMap to DIContext constructor.
llvm-svn: 167728
|
| |
|
|
|
|
|
| |
This is the second and last (2/2) part of a change that moves llvm-symbolizer to llvm/tools/, which will allow to build it
with both cmake and configure+make.
llvm-svn: 167723
|
| |
|
|
|
|
|
| |
values in a map that can be passed to consumers. Add a testcase that
ensures this works for llvm-dwarfdump.
llvm-svn: 167558
|
| |
|
|
| |
llvm-svn: 167544
|
| |
|
|
| |
llvm-svn: 167525
|
| |
|
|
|
|
| |
Prior to this patch RuntimeDyld attempted to re-apply relocations every time reassignSectionAddress was called (via MCJIT::mapSectionAddress). In addition to being inefficient and redundant, this led to a problem when a section was temporarily moved too far away from another section with a relative relocation referencing the section being moved. To fix this, I'm adding a new method (finalizeObject) which the client can call to indicate that it is finished rearranging section addresses so the relocations can safely be applied.
llvm-svn: 167400
|
| |
|
|
|
|
|
| |
MCJIT supports inline assembly, but requires the asm parser to do so.
Make sure to link it in and initialize it.
llvm-svn: 167392
|
| |
|
|
|
|
| |
Patch by Ashok Thirumurthi
llvm-svn: 167192
|
| |
|
|
| |
llvm-svn: 167185
|
| |
|
|
|
|
| |
Nothing fancy, just a simple demonstration parser.
llvm-svn: 167181
|
| |
|
|
| |
llvm-svn: 167164
|
| |
|
|
|
|
| |
Patch by Amara Emerson.
llvm-svn: 166920
|
| |
|
|
|
|
| |
globals.
llvm-svn: 166909
|
| |
|
|
|
|
|
|
| |
Always use an exit code of 1, but print the help message if useful.
Remove the exception handling tag in llvm-as, llvm-dis and
llvm-bcanalyzer, where it isn't used.
llvm-svn: 166767
|
| |
|
|
|
|
|
|
|
|
| |
to hack around this in the gold plugin by deleting a module if no symbol was
needed. Unfortunately, the hack is wrong in the case of o module having no
visible symbols but still having side effects via static constructors.
The bug will have to be fixed in libLTO itself.
llvm-svn: 166745
|
| |
|
|
| |
llvm-svn: 166602
|
| |
|
|
| |
llvm-svn: 166595
|
| |
|
|
|
|
|
|
|
|
|
| |
Per the October 12, 2012 Proposal for annotated disassembly output sent out by
Jim Grosbach this set of changes implements this for X86 and arm. The llvm-mc
tool now has a -mdis option to produced the marked up disassembly and a couple
of small example test cases have been added.
rdar://11764962
llvm-svn: 166445
|
| |
|
|
|
|
| |
Lowerinvoke.
llvm-svn: 166248
|
| |
|
|
|
|
|
| |
This reverts commit 165776. The plug-in uses this symbol; it does not
define it. It needs to be exported from bugpoint itself, not from the plug-in.
llvm-svn: 166207
|
| |
|
|
|
|
|
|
|
|
|
| |
The TargetTransform changes are breaking LTO bootstraps of clang. I am
working with Nadav to figure out the problem, but I am reverting it for now
to get our buildbots working.
This reverts svn commits: 165665 165669 165670 165786 165787 165997
and I have also reverted clang svn 165741
llvm-svn: 166168
|
| |
|
|
| |
llvm-svn: 166075
|
| |
|
|
| |
llvm-svn: 165997
|
| |
|
|
|
|
|
|
| |
This is a temporary hack until Bill's project to record command line options
in the LLVM IR is ready. Clang currently sets a default CPU but that isn't
recorded anywhere and it doesn't get used in the final LTO compilation.
llvm-svn: 165809
|