#
3fc649cb |
| 23-Sep-2017 |
Reid Kleckner <rnk@google.com> |
[Support] Rename tool_output_file to ToolOutputFile, NFC
This class isn't similar to anything from the STL, so it shouldn't use the STL naming conventions.
llvm-svn: 314050
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2 |
|
#
9f929957 |
| 02-Aug-2017 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't pass the code model to MC
I was surprised to see the code model being passed to MC. After all, it assembles code, it doesn't create it.
The one place it is used is in the expansion of .cfi di
Don't pass the code model to MC
I was surprised to see the code model being passed to MC. After all, it assembles code, it doesn't create it.
The one place it is used is in the expansion of .cfi directives to handle .eh_frame being more that 2gb away from the code.
As far as I can tell, gnu assembler doesn't even have an option to enable this. Compiling a c file with gcc -mcmodel=large produces a regular looking .eh_frame. This is probably because in practice linker parse and recreate .eh_frames.
In llvm this is used because the JIT can place the code and .eh_frame very far apart. Ideally we would fix the jit and delete this option. This is hard.
Apart from confusion another problem with the current interface is that most callers pass CodeModel::Default, which is bad since MC has no way to map it to the target default if it actually needed to.
This patch then replaces the argument with a boolean with a default value. The vast majority of users don't ever need to look at it. In fact, only CodeGen and llvm-mc use it and llvm-mc just to enable more testing.
llvm-svn: 309884
show more ...
|
Revision tags: llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3 |
|
#
1f62f57b |
| 09-Jun-2017 |
Saleem Abdulrasool <compnerd@compnerd.org> |
sink DebugCompressionType into MC for exposing to clang
This is a preparatory change to expose the debug compression style to clang. It requires exposing the enumeration and passing the actual valu
sink DebugCompressionType into MC for exposing to clang
This is a preparatory change to expose the debug compression style to clang. It requires exposing the enumeration and passing the actual value through to the backend from the frontend in actual value form rather than a boolean that selects the GNU style of debug info compression.
Minor tweak to the ELF Object Writer to use a variable for re-used values. Add an assertion that debug information format is one of the two currently known types if debug information is being compressed.
llvm-svn: 305038
show more ...
|
Revision tags: llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3 |
|
#
dccb4fef |
| 28-Feb-2017 |
Paul Robinson <paul.robinson@sony.com> |
[DWARFv5] llvm-mc support for new unit header.
This is for running the assembler with -g (to emit DWARF describing the assembler source).
Differential Revision: http://reviews.llvm.org/D30475
llvm
[DWARFv5] llvm-mc support for new unit header.
This is for running the assembler with -g (to emit DWARF describing the assembler source).
Differential Revision: http://reviews.llvm.org/D30475
llvm-svn: 296541
show more ...
|
Revision tags: llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3 |
|
#
9a561aa3 |
| 06-Dec-2016 |
Mandeep Singh Grang <mgrang@codeaurora.org> |
[llvm] Fix D26214: Move error handling out of MC and to the callers.
Summary: Related clang patch; https://reviews.llvm.org/D27360
Reviewers: t.p.northover, grosbach, compnerd, echristo
Subscriber
[llvm] Fix D26214: Move error handling out of MC and to the callers.
Summary: Related clang patch; https://reviews.llvm.org/D27360
Reviewers: t.p.northover, grosbach, compnerd, echristo
Subscribers: compnerd, mehdi_amini, llvm-commits
Differential Revision: https://reviews.llvm.org/D27359
llvm-svn: 288763
show more ...
|
Revision tags: llvmorg-3.9.1-rc2 |
|
#
32360071 |
| 01-Dec-2016 |
Mandeep Singh Grang <mgrang@codeaurora.org> |
[llvm] Implement support for -defsym assembler option
Summary: Changes to llvm-mc to move common logic to separate function.
Related clang patch: https://reviews.llvm.org/D26213
Reviewers: rafael,
[llvm] Implement support for -defsym assembler option
Summary: Changes to llvm-mc to move common logic to separate function.
Related clang patch: https://reviews.llvm.org/D26213
Reviewers: rafael, t.p.northover, colinl, echristo, rengolin
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D26214
llvm-svn: 288396
show more ...
|
Revision tags: llvmorg-3.9.1-rc1 |
|
#
a9395af5 |
| 31-Oct-2016 |
Nirav Dave <niravd@google.com> |
[MC] Make llvm-mc fail cleanly on invalid output asm variant.
Fixes PR28488.
Reviewers: rnk, majnemer
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D25834
llvm-svn: 2
[MC] Make llvm-mc fail cleanly on invalid output asm variant.
Fixes PR28488.
Reviewers: rnk, majnemer
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D25834
llvm-svn: 285616
show more ...
|
#
732afdd0 |
| 08-Oct-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
Turn cl::values() (for enum) from a vararg function to using C++ variadic template
The core of the change is supposed to be NFC, however it also fixes what I believe was an undefined behavior when c
Turn cl::values() (for enum) from a vararg function to using C++ variadic template
The core of the change is supposed to be NFC, however it also fixes what I believe was an undefined behavior when calling:
va_start(ValueArgs, Desc);
with Desc being a StringRef.
Differential Revision: https://reviews.llvm.org/D25342
llvm-svn: 283671
show more ...
|
#
055a7026 |
| 27-Sep-2016 |
Martin Storsjo <martin@martin.st> |
Fix a typo, depricated -> deprecated
Differential Revision: https://reviews.llvm.org/D22849
llvm-svn: 282534
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2 |
|
#
3feeb9c8 |
| 08-Aug-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Re-commit r277988: [mips][ias] Fix all the hacks related to MIPS-specific unary operators (%hi/%lo/%gp_rel/etc.).
Hopefully with the MSVC builds fixed. I've added a missing '#include <tuple>' that g
Re-commit r277988: [mips][ias] Fix all the hacks related to MIPS-specific unary operators (%hi/%lo/%gp_rel/etc.).
Hopefully with the MSVC builds fixed. I've added a missing '#include <tuple>' that gcc and clang don't seem to need.
llvm-svn: 277995
show more ...
|
#
cae9aeed |
| 08-Aug-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
Revert r277988: [mips][ias] Fix all the hacks related to MIPS-specific unary operators (%hi/%lo/%gp_rel/etc.).
It seems that MSVC doesn't like std::tie().
llvm-svn: 277990
|
#
2ab623b5 |
| 08-Aug-2016 |
Daniel Sanders <daniel.sanders@imgtec.com> |
[mips][ias] Fix all the hacks related to MIPS-specific unary operators (%hi/%lo/%gp_rel/etc.).
Summary: They are now lexed as a single token on targets where MCAsmInfo::HasMipsExpressions is true an
[mips][ias] Fix all the hacks related to MIPS-specific unary operators (%hi/%lo/%gp_rel/etc.).
Summary: They are now lexed as a single token on targets where MCAsmInfo::HasMipsExpressions is true and then parsed in a similar way to the '~' operator as part of MCExpr::parseExpression.
As a result: * expressions and immediates no longer have different parsing rules. The difference is now solely down to whether evaluateAsAbsolute() succeeds. * %hi(%neg(%gp_rel(x))) are no longer parsed as a single operator and decomposed into the three MipsMCExpr nodes. They are parsed directly as three MipsMCExpr nodes. * parseMemOperand no longer needs to eat all the surrounding parenthesis to get at the outermost operator to make this work * %hi(%neg(%gp_rel(x))) and %lo(%neg(%gp_rel(x))) are no longer the only 3-in-1 relocs that parse for N64. They're still the only combinations that are permitted in relocatable expressions though. Fixing that should be a later patch. * We no longer need to list all the tokens that can occur as the first token of an expression or immediate.
test/MC/Mips/expr1.s: This change also prevents the incorrect lowering of %lo(2*4)+foo to %lo(8+foo) which is not an equivalent expression (the difference is whether foo is truncated to 16-bit or not) and the test has been updated to account for the macro expansion the correct expression requires.
Reviewers: sdardis
Subscribers: dsanders, sdardis, llvm-commits
Differential Revision: https://reviews.llvm.org/D23110
llvm-svn: 277988
show more ...
|
Revision tags: llvmorg-3.9.0-rc1 |
|
#
373d7d30 |
| 25-Jul-2016 |
Joel Jones <joelkevinjones@gmail.com> |
MC] Provide an MCTargetOptions to implementors of MCAsmBackendCtorTy, NFC
Some targets, notably AArch64 for ILP32, have different relocation encodings based upon the ABI. This is an enabling change,
MC] Provide an MCTargetOptions to implementors of MCAsmBackendCtorTy, NFC
Some targets, notably AArch64 for ILP32, have different relocation encodings based upon the ABI. This is an enabling change, so a future patch can use the ABIName from MCTargetOptions to chose which relocations to use. Tested using check-llvm.
The corresponding change to clang is in: http://reviews.llvm.org/D16538
Patch by: Joel Jones
Differential Revision: https://reviews.llvm.org/D16213
llvm-svn: 276654
show more ...
|
#
53a72f4d |
| 11-Jul-2016 |
Nirav Dave <niravd@google.com> |
Provide support for preserving assembly comments
Preserve assembly comments from input in output assembly and flags to toggle property. This is on by default for inline assembly and off in llvm-mc.
Provide support for preserving assembly comments
Preserve assembly comments from input in output assembly and flags to toggle property. This is on by default for inline assembly and off in llvm-mc.
Parsed comments are emitted immediately before an EOL which generally places them on the expected line.
Reviewers: rtrieu, dwmw2, rnk, majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D20020
llvm-svn: 275058
show more ...
|
#
e021e851 |
| 17-Jun-2016 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change the default of -relax-relocations.
llvm-mc is a developer tool, as such it make sense for it to use new features by default.
This doesn't change the user facing clang, which still defaults t
Change the default of -relax-relocations.
llvm-mc is a developer tool, as such it make sense for it to use new features by default.
This doesn't change the user facing clang, which still defaults to non relaxable relocations.
llvm-svn: 273014
show more ...
|
#
4ca41fd0 |
| 12-Jun-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Run clang-tidy's performance-unnecessary-copy-initialization over LLVM.
No functionality change intended.
llvm-svn: 272516
|
#
2ad6d48b |
| 09-Jun-2016 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Search for llvm-symbolizer binary in the same directory as argv[0], before looking for it along $PATH. This allows installs of LLVM tools outside of $PATH to find the symbolizer and produce pretty ba
Search for llvm-symbolizer binary in the same directory as argv[0], before looking for it along $PATH. This allows installs of LLVM tools outside of $PATH to find the symbolizer and produce pretty backtraces if they crash.
llvm-svn: 272232
show more ...
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1 |
|
#
9768d73c |
| 29-May-2016 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move RelaxELFRel out to llvm-mc.
llvm-svn: 271160
|
#
c91e38c5 |
| 27-May-2016 |
George Rimar <grimar@accesssoftek.com> |
Recommit 270977 - [llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.
Fix: updated clang code which was not updated by mistake.
Original commit message: [llvm-mc] - Teach llvm-m
Recommit 270977 - [llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.
Fix: updated clang code which was not updated by mistake.
Original commit message: [llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.
This patch is strongly based on previously reverted D20331. (because of gnuutils < 2.26 does not support compressed debug sections in non zlib-gnu style)
Difference that this patch supports both zlib and zlib-gnu styles.
-compress-debug-sections option now supports next values:
-compress-debug-sections=zlib-gnu -compress-debug-sections=zlib -compress-debug-sections=none Previously specifying -compress-debug-sections enabled zlib-gnu compression, so anyone can put "-compress-debug-sections=zlib-gnu" to restore the behavior that was before this patch for case when compression was enabled.
Differential revision: http://reviews.llvm.org/D20676
llvm-svn: 270987
show more ...
|
#
e79fc3ef |
| 27-May-2016 |
George Rimar <grimar@accesssoftek.com> |
Revert r270977 ([llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.)
It broke buildbot: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/13585/
Revert r270977 ([llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.)
It broke buildbot: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/13585/steps/build/logs/stdio
Initial commit message: [llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.
This patch is strongly based on previously reverted D20331. (because of gnuutils < 2.26 does not support compressed debug sections in non zlib-gnu style)
Difference that this patch supports both zlib and zlib-gnu styles.
-compress-debug-sections option now supports next values:
-compress-debug-sections=zlib-gnu -compress-debug-sections=zlib -compress-debug-sections=none Previously specifying -compress-debug-sections enabled zlib-gnu compression, so anyone can put "-compress-debug-sections=zlib-gnu" to restore the behavior that was before this patch for case when compression was enabled.
Differential revision: http://reviews.llvm.org/D20676
llvm-svn: 270978
show more ...
|
#
48dcd2b8 |
| 27-May-2016 |
George Rimar <grimar@accesssoftek.com> |
[llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.
This patch is strongly based on previously reverted D20331. (because of gnuutils < 2.26 does not support compressed debug sect
[llvm-mc] - Teach llvm-mc to generate zlib styled compression sections.
This patch is strongly based on previously reverted D20331. (because of gnuutils < 2.26 does not support compressed debug sections in non zlib-gnu style)
Difference that this patch supports both zlib and zlib-gnu styles.
-compress-debug-sections option now supports next values:
-compress-debug-sections=zlib-gnu -compress-debug-sections=zlib -compress-debug-sections=none Previously specifying -compress-debug-sections enabled zlib-gnu compression, so anyone can put "-compress-debug-sections=zlib-gnu" to restore the behavior that was before this patch for case when compression was enabled.
Differential revision: http://reviews.llvm.org/D20676
llvm-svn: 270977
show more ...
|
#
699281cc |
| 18-May-2016 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't pass a Reloc::Model to MC.
MC only needs to know if the output is PIC or not. It never has to decide about creating GOTs and PLTs for example. The only thing that MC itself uses this informati
Don't pass a Reloc::Model to MC.
MC only needs to know if the output is PIC or not. It never has to decide about creating GOTs and PLTs for example. The only thing that MC itself uses this information for is expanding "macros" in sparc and mips. The rest I am pretty sure could be moved to CodeGen.
This is a cleanup and isolates the code from future changes to Reloc::Model.
llvm-svn: 269909
show more ...
|
#
8809c402 |
| 22-Mar-2016 |
Justin Bogner <mail@justinbogner.com> |
MC: Don't access the filesystem in MCContext's constructor
MCContext shouldn't be accessing the filesystem - that's a gross layering violation and makes it awkward to use as a library or in a daemon
MC: Don't access the filesystem in MCContext's constructor
MCContext shouldn't be accessing the filesystem - that's a gross layering violation and makes it awkward to use as a library or in a daemon where it may not even be allowed filesystem access.
The CWD lookup here is normally redundant anyway, since the calling context either also looks up the CWD or sets this to something more specific. Here, we fix up the one caller that doesn't already set up a debug compilation dir and make it clear that the responsibility for such set up is in the users of MCContext.
llvm-svn: 264109
show more ...
|
Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2 |
|
#
b3e8a6d2 |
| 27-Jan-2016 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs.
llvm-svn: 258917
|
Revision tags: llvmorg-3.8.0-rc1 |
|
#
03e2cc30 |
| 21-Dec-2015 |
David Majnemer <david.majnemer@gmail.com> |
[MC, COFF] Support link /incremental conditionally
Today, we always take into account the possibility that object files produced by MC may be consumed by an incremental linker. This results in us i
[MC, COFF] Support link /incremental conditionally
Today, we always take into account the possibility that object files produced by MC may be consumed by an incremental linker. This results in us initialing fields which vary with time (TimeDateStamp) which harms hermetic builds (e.g. verifying a self-host went well) and produces sub-optimal code because we cannot assume anything about the relative position of functions within a section (call sites can get redirected through incremental linker thunks).
Let's provide an MCTargetOption which controls this behavior so that we can disable this functionality if we know a-priori that the build will not rely on /incremental.
llvm-svn: 256203
show more ...
|