Charles Davis
8bdfafd505
Move everything depending on Object/MachOFormat.h over to Support/MachO.h.
...
llvm-svn: 189728
2013-09-01 04:28:48 +00:00
Charles Davis
1827bd8a6c
Revert "Fix the build broken by r189315." and "Move everything depending on Object/MachOFormat.h over to Support/MachO.h."
...
This reverts commits r189319 and r189315. r189315 broke some tests on what I
believe are big-endian platforms.
llvm-svn: 189321
2013-08-27 05:38:30 +00:00
Charles Davis
0c6f71b40d
Move everything depending on Object/MachOFormat.h over to Support/MachO.h.
...
llvm-svn: 189315
2013-08-27 05:00:43 +00:00
David Sehr
4c8979cd4d
The current X86 NOP padding uses one long NOP followed by the remainder in
...
one-byte NOPs. If the processor actually executes those NOPs, as it sometimes
does with aligned bundling, this can have a performance impact. From my
micro-benchmarks run on my one machine, a 15-byte NOP followed by twelve
one-byte NOPs is about 20% worse than a 15 followed by a 12. This patch
changes NOP emission to emit as many 15-byte (the maximum) as possible followed
by at most one shorter NOP.
llvm-svn: 176464
2013-03-05 00:02:23 +00:00
Eli Bendersky
4d9ada036c
Renamed MCInstFragment to MCRelaxableFragment and added some comments.
...
No change in functionality.
llvm-svn: 171822
2013-01-08 00:22:56 +00:00
Eli Bendersky
b2022f3a5a
Fix a bogus comment
...
llvm-svn: 170052
2012-12-13 00:24:56 +00:00
Michael Liao
83a77c3288
Enable ELF machine type to be specified explicitly in X86 backend
...
llvm-svn: 167027
2012-10-30 17:33:39 +00:00
Benjamin Kramer
35480284e7
X86: Disable long nops for all cpus prior to pentiumpro/i686.
...
llvm-svn: 165878
2012-10-13 17:28:35 +00:00
Andrew Kaylor
feb805fcf2
Support for generating ELF objects on Windows.
...
This adds 'elf' as a recognized target triple environment value and overrides the default generated object format on Windows platforms if that value is present. This patch also enables MCJIT tests on Windows using the new environment value.
llvm-svn: 165030
2012-10-02 18:38:34 +00:00
Roman Divacky
5dd4ccb402
When creating MCAsmBackend pass the CPU string as well. In X86AsmBackend
...
store this and use it to not emit long nops when the CPU is geode which
doesnt support them.
Fixes PR11212.
llvm-svn: 164132
2012-09-18 16:08:49 +00:00
Dmitri Gribenko
5485acd440
Fix Doxygen issues:
...
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph);
* use \param instead of \arg to document parameters in order to be consistent
with the rest of the codebase.
llvm-svn: 163902
2012-09-14 14:57:36 +00:00
Craig Topper
1fcf5bcae1
Prune some includes
...
llvm-svn: 153502
2012-03-27 07:54:11 +00:00
Craig Topper
b25fda95f6
Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations.
...
llvm-svn: 152997
2012-03-17 18:46:09 +00:00
Craig Topper
4ed7278ff4
Convert assert(0) to llvm_unreachable in X86 Target directory.
...
llvm-svn: 149809
2012-02-05 05:38:58 +00:00
Jim Grosbach
aba3de99c0
Tidy up. MCAsmBackend naming conventions.
...
llvm-svn: 148400
2012-01-18 18:52:16 +00:00
Rafael Espindola
a56ab0ede7
Section relative fixups are a coff concept, not a x86 one. Replace the
...
x86 specific reloc_coff_secrel32 with a generic FK_SecRel_4.
llvm-svn: 147252
2011-12-24 14:47:52 +00:00
Rafael Espindola
908d2ed14e
Move x86 specific bits of the COFF writer to lib/Target/X86.
...
llvm-svn: 147231
2011-12-24 02:14:02 +00:00
Rafael Espindola
b264d33854
Move the X86 specific bits of the ELF writer to the Target/X86 directory.
...
Other targets will follow shortly.
llvm-svn: 147060
2011-12-21 17:30:17 +00:00
Rafael Espindola
1ad4095d6b
Reduce the exposure of Triple::OSType in the ELF object writer. This will
...
avoid including ADT/Triple.h in many places when the target specific bits are
moved.
llvm-svn: 147059
2011-12-21 17:00:36 +00:00
Rafael Espindola
d3df3d3527
Add back the MC bits of 126425. Original patch by Nathan Jeffords. I added the
...
asm parsing and testcase.
llvm-svn: 146801
2011-12-17 01:14:52 +00:00
Jim Grosbach
25b63fa117
Move target-specific logic out of generic MCAssembler.
...
Whether a fixup needs relaxation for the associated instruction is a
target-specific function, as the FIXME indicated. Create a hook for that
and use it.
llvm-svn: 145881
2011-12-06 00:47:03 +00:00
Eli Friedman
a5abd03a8d
Simplify assertion, and avoid undefined shift. Based on patch by Ahmed Charles.
...
llvm-svn: 141912
2011-10-13 23:27:48 +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
Chandler Carruth
2536b51aae
Silence unused variable warnings in release builds.
...
llvm-svn: 136956
2011-08-05 01:08:21 +00:00
Jason W Kim
239370cb3f
Fix http://llvm.org/bugs/show_bug.cgi?id=10583\n - test for 1 and 2 byte fixups to be added
...
llvm-svn: 136954
2011-08-05 00:53:03 +00:00
Jason W Kim
e4df09f7ba
Fix http://llvm.org/bugs/show_bug.cgi?id=10568
...
Move the reloc size assert into AsmBackend - where it is more apropos.
llvm-svn: 136855
2011-08-04 00:38:45 +00:00
Evan Cheng
5928e69d20
Rename TargetAsmBackend to MCAsmBackend; rename createAsmBackend to createMCAsmBackend.
...
llvm-svn: 136010
2011-07-25 23:24:55 +00:00
Evan Cheng
b25310095f
More refactoring.
...
llvm-svn: 135939
2011-07-25 19:33:48 +00:00