Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4 |
|
#
556b21aa |
| 13-Aug-2015 |
Yaron Keren <yaron.keren@gmail.com> |
Remove and forbid raw_svector_ostream::flush() calls. After r244870 flush() will only compare two null pointers and return, doing nothing but wasting run time. The call is not required any more as th
Remove and forbid raw_svector_ostream::flush() calls. After r244870 flush() will only compare two null pointers and return, doing nothing but wasting run time. The call is not required any more as the stream and its SmallString are always in sync.
Thanks to David Blaikie for reviewing.
llvm-svn: 244928
show more ...
|
#
a3668a3f |
| 13-Aug-2015 |
Yaron Keren <yaron.keren@gmail.com> |
Remove raw_svector_ostream::resync and users. It's no-op after r244870.
llvm-svn: 244888
|
Revision tags: llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
f8019408 |
| 31-Mar-2015 |
Eric Christopher <echristo@gmail.com> |
Replace the MCSubtargetInfo parameter with a Triple when creating an MCInstPrinter. Update all callers and use where we wanted a Triple previously.
llvm-svn: 233648
|
#
71b1e5f1 |
| 30-Mar-2015 |
Eric Christopher <echristo@gmail.com> |
Rename const char *Triple argument to TT to avoid shadowing llvm::Triple.
llvm-svn: 233615
|
#
b46d0234 |
| 27-Mar-2015 |
Akira Hatanaka <ahatanaka@apple.com> |
[MCInstPrinter] Enable MCInstPrinter to change its behavior based on the per-function subtarget.
Currently, code-gen passes the default or generic subtarget to the constructors of MCInstPrinter subc
[MCInstPrinter] Enable MCInstPrinter to change its behavior based on the per-function subtarget.
Currently, code-gen passes the default or generic subtarget to the constructors of MCInstPrinter subclasses (see LLVMTargetMachine::addPassesToEmitFile), which enables some targets (AArch64, ARM, and X86) to change their instprinter's behavior based on the subtarget feature bits. Since the backend can now use different subtargets for each function, instprinter has to be changed to use the per-function subtarget rather than the default subtarget.
This patch takes the first step towards enabling instprinter to change its behavior based on the per-function subtarget. It adds a bit "PassSubtarget" to AsmWriter which tells table-gen to pass a reference to MCSubtargetInfo to the various print methods table-gen auto-generates.
I will follow up with changes to instprinters of AArch64, ARM, and X86.
llvm-svn: 233411
show more ...
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2 |
|
#
186db431 |
| 18-Jan-2015 |
David Blaikie <dblaikie@gmail.com> |
unique_ptrify the RelInfo parameter to TargetRegistry::createMCSymbolizer
llvm-svn: 226416
|
Revision tags: llvmorg-3.6.0-rc1 |
|
#
acf25766 |
| 13-Jan-2015 |
Eric Christopher <echristo@gmail.com> |
Grammar and spelling.
llvm-svn: 225740
|
Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
#
6c933979 |
| 13-Nov-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix a regression on the disassembling C API.
The fix is easy. Unfortunately, we had 0 tests, so adding one was somewhat complicated.
Thanks to Kevin Enderby for the report.
llvm-svn: 221899
|
#
cac0088e |
| 12-Nov-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the now unused StringRefMemoryObject.h.
llvm-svn: 221755
|
#
7fc5b874 |
| 12-Nov-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Pass an ArrayRef to MCDisassembler::getInstruction.
With this patch MCDisassembler::getInstruction takes an ArrayRef<uint8_t> instead of a MemoryObject.
Even on X86 there is a maximum size an instr
Pass an ArrayRef to MCDisassembler::getInstruction.
With this patch MCDisassembler::getInstruction takes an ArrayRef<uint8_t> instead of a MemoryObject.
Even on X86 there is a maximum size an instruction can have. Given that, it seems way simpler and more efficient to just pass an ArrayRef to the disassembler instead of a MemoryObject and have it do a virtual call every time it wants some extra bytes.
llvm-svn: 221751
show more ...
|
#
1d7d4eb1 |
| 07-Nov-2014 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use a StringRefMemoryObject. NFC.
llvm-svn: 221503
|
#
7a770755 |
| 30-Sep-2014 |
Bradley Smith <bradley.smith@arm.com> |
Extend C disassembler API to allow specifying target features
llvm-svn: 218682
|
Revision tags: llvmorg-3.5.0 |
|
#
11759457 |
| 02-Sep-2014 |
Pete Cooper <peter_cooper@apple.com> |
Change MCSchedModel to be a struct of statically initialized data.
This removes static initializers from the backends which generate this data, and also makes this struct match the other Tablegen ge
Change MCSchedModel to be a struct of statically initialized data.
This removes static initializers from the backends which generate this data, and also makes this struct match the other Tablegen generated structs in behaviour
Reviewed by Andy Trick and Chandler C
llvm-svn: 216919
show more ...
|
Revision tags: llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1 |
|
#
e69170a1 |
| 26-Jun-2014 |
Alp Toker <alp@nuanti.com> |
Revert "Introduce a string_ostream string builder facilty"
Temporarily back out commits r211749, r211752 and r211754.
llvm-svn: 211814
|
#
61471738 |
| 26-Jun-2014 |
Alp Toker <alp@nuanti.com> |
Introduce a string_ostream string builder facilty
string_ostream is a safe and efficient string builder that combines opaque stack storage with a built-in ostream interface.
small_string_ostream<by
Introduce a string_ostream string builder facilty
string_ostream is a safe and efficient string builder that combines opaque stack storage with a built-in ostream interface.
small_string_ostream<bytes> additionally permits an explicit stack storage size other than the default 128 bytes to be provided. Beyond that, storage is transferred to the heap.
This convenient class can be used in most places an std::string+raw_string_ostream pair or SmallString<>+raw_svector_ostream pair would previously have been used, in order to guarantee consistent access without byte truncation.
The patch also converts much of LLVM to use the new facility. These changes include several probable bug fixes for truncated output, a programming error that's no longer possible with the new interface.
llvm-svn: 211749
show more ...
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2 |
|
#
353eda48 |
| 24-Apr-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++] Use 'nullptr'.
llvm-svn: 207083
|
#
a1bc0f56 |
| 15-Apr-2014 |
Lang Hames <lhames@gmail.com> |
[MC] Require an MCContext when constructing an MCDisassembler.
This patch re-introduces the MCContext member that was removed from MCDisassembler in r206063, and requires that an MCContext be passed
[MC] Require an MCContext when constructing an MCDisassembler.
This patch re-introduces the MCContext member that was removed from MCDisassembler in r206063, and requires that an MCContext be passed in at MCDisassembler construction time. (Previously the MCContext member had been initialized in an ad-hoc fashion after construction). The MCCContext member can be used by MCDisassembler sub-classes to construct constant or target-specific MCExprs.
This patch updates disassemblers for in-tree targets, and provides the MCRegisterInfo instance that some disassemblers were using through the MCContext (previously those backends were constructing their own MCRegisterInfo instances).
llvm-svn: 206241
show more ...
|
Revision tags: llvmorg-3.4.1-rc1 |
|
#
95400e22 |
| 11-Apr-2014 |
Lang Hames <lhames@gmail.com> |
Remove redundant symbolization support from MCDisassembler interface.
MCDisassembler has an MCSymbolizer member that is meant to take care of symbolizing during disassembly, but it also has several
Remove redundant symbolization support from MCDisassembler interface.
MCDisassembler has an MCSymbolizer member that is meant to take care of symbolizing during disassembly, but it also has several methods that enable the disassembler to do symbolization internally (i.e. without an attached symbolizer object). There is no need for this duplication, but ARM64 had been making use of it. This patch moves the ARM64 symbolization logic out of ARM64Disassembler and into an ARM64ExternalSymbolizer class, and removes the duplicated MCSymbolizer functionality from the MCDisassembler interface. Symbolization will now be done exclusively through MCSymbolizers.
There should be no impact on disassembly for any platform, but this allows us to tidy up the MCDisassembler interface and simplify the process of (and invariants related to) disassembler setup.
llvm-svn: 206063
show more ...
|
#
69247821 |
| 27-Mar-2014 |
Lang Hames <lhames@gmail.com> |
Remove forward declaration for Target class - Target is already defined here.
No functional change.
llvm-svn: 204885
|
#
59be68f0 |
| 08-Mar-2014 |
Craig Topper <craig.topper@gmail.com> |
[C++11] Add 'override' keyword to virtual methods that override their base class.
llvm-svn: 203342
|
#
df17c83f |
| 07-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
Change MCDisassembler::setSymbolizer to take unique_ptr by value.
This changes the interface to be more explicit that ownership is being transferred.
llvm-svn: 203223
|
#
56440fd8 |
| 06-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which ha
Replace OwningPtr<T> with std::unique_ptr<T>.
This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary.
llvm-svn: 203083
show more ...
|
#
96c9d95f |
| 05-Mar-2014 |
Ahmed Charles <ahmedcharles@gmail.com> |
[C++11] Replace OwningPtr::take() with OwningPtr::release().
llvm-svn: 202957
|
#
f16c8c51 |
| 06-Jan-2014 |
Kevin Enderby <enderby@apple.com> |
For the 'C' disassembler API, add a new ReferenceType for the SymbolLookUp() call back to return a demangled C++ name to be used as a comment.
For example darwin's otool(1) program the uses the llvm
For the 'C' disassembler API, add a new ReferenceType for the SymbolLookUp() call back to return a demangled C++ name to be used as a comment.
For example darwin's otool(1) program the uses the llvm disassembler now can produce disassembly like:
callq __ZNK4llvm6Target20createMCDisassemblerERKNS_15MCSubtargetInfoE ## llvm::Target::createMCDisassembler(llvm::MCSubtargetInfo const&) const
Also fix a bug in LLVMDisasmInstruction() that was not flushing the raw_svector_ostream for the disassembled instruction string before copying it to the output buffer that was causing truncation of the output.
rdar://10173828
llvm-svn: 198637
show more ...
|
#
19bccb79 |
| 03-Jan-2014 |
Reid Kleckner <reid@kleckner.net> |
Revert "For disassembly when adding a symbolic operand that is a C++ symbol name, also put the human readable name in a comment."
This reverts commit r198441.
This change doesn't build on Windows,
Revert "For disassembly when adding a symbolic operand that is a C++ symbol name, also put the human readable name in a comment."
This reverts commit r198441.
This change doesn't build on Windows, and doesn't do the right thing on Linux and other platforms that don't use a _Z prefix instead of __Z for C++ names.
It also had no tests, so it wasn't clear how to fix it forward.
llvm-svn: 198445
show more ...
|