Chad Rosier
be73f6690c
Whitespace.
...
llvm-svn: 165540
2012-10-09 20:15:02 +00:00
Eric Christopher
9b026245e0
Add names for the accelerator table sections so that they can
...
be emitted if they're wanted on elf platforms.
llvm-svn: 165432
2012-10-08 21:41:30 +00:00
Benjamin Kramer
7fab511b16
Hoist some grossly duplicated code from the COFF/ELF/MachO streamers into MCObjectStreamer.
...
llvm-svn: 165225
2012-10-04 13:12:43 +00:00
Craig Topper
453d701804
Remove template from function that is only used with one type after r165092.
...
llvm-svn: 165203
2012-10-04 05:18:31 +00:00
Craig Topper
158fbabf84
Fix doxygen comment to match function name.
...
llvm-svn: 165094
2012-10-03 06:47:18 +00:00
Craig Topper
15c4f34e4a
Remove unused function that used to get itineraries from SubTargetFeatures. This is done from MCSubTargetInfo these days.
...
llvm-svn: 165092
2012-10-03 06:26:11 +00:00
Andrew Kaylor
0d06582cd5
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
Jim Grosbach
037348ce80
MachO: direct-to-object attribute for data-in-code markers.
...
The target backend can support data-in-code load commands even when
the assembler doesn't, or vice-versa. Allow targets to opt-in for
direct-to-object.
PR13973.
llvm-svn: 164974
2012-10-01 22:20:54 +00:00
Benjamin Kramer
56415ad3cd
Provide a shortcut for MCObjectStreamer when emitting fills.
...
Reduces runtime of i386-large-relocations.s by 10x in Release builds, even more
in Debug+Asserts builds.
llvm-svn: 164945
2012-10-01 15:14:14 +00:00
Sylvestre Ledru
b77340e506
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767
...
llvm-svn: 164768
2012-09-27 10:14:43 +00:00
Sylvestre Ledru
1c5e7904de
Fix a typo 'iff' => 'if'
...
llvm-svn: 164767
2012-09-27 09:59:43 +00:00
Craig Topper
0cda5b9a3c
Rename virtual table anchors from Anchor() to anchor() for consistency with the rest of the tree.
...
llvm-svn: 164666
2012-09-26 06:36:36 +00:00
Anton Korobeynikov
0457dce9c9
Emit dtors into proper section while compiling in vcpp-compatible mode.
...
Patch by Kai!
llvm-svn: 164476
2012-09-23 15:53:47 +00:00
Preston Gurd
79d6f55f89
Add support for macro parameters/arguments delimited by spaces,
...
to improve compatibility with GNU as.
Based on a patch by PaX Team.
Fixed assertion failures on non-Darwin and added additional test cases.
llvm-svn: 164248
2012-09-19 20:36:12 +00:00
Preston Gurd
ba1ce20a7b
Support default parameters/arguments for assembler macros.
...
This patch is based on the one by PaX Team.
Patch by Andy Zhang!
llvm-svn: 164246
2012-09-19 20:29:04 +00:00
Preston Gurd
033b204a1f
Enhance unmatched '.endr' directive error message in assembler.
...
The directive can be matched with directives other than '.rept'
Patch by Andy Zhang!
llvm-svn: 164245
2012-09-19 20:23:43 +00:00
Jim Grosbach
c0a2407cb6
Tidy up. Minor formatting.
...
llvm-svn: 164182
2012-09-18 23:05:18 +00:00
Jim Grosbach
367579067f
Tidy up. 80 columns.
...
llvm-svn: 164181
2012-09-18 23:05:12 +00:00
Roman Divacky
bb7740900c
Avoid symbol name clash when filling TOC.
...
Patch by Adhemerval Zanella.
llvm-svn: 164141
2012-09-18 17:10:37 +00:00
Andrew Trick
6cba50cbb4
Replaced ReInitMCSubtargetInfo with InitMCProcessor.
...
Now where we used to call ReInitMCSubtargetInfo, we actually recompute
the same information as InitMCSubtargetInfo instead of only setting
the feature bits.
llvm-svn: 164105
2012-09-18 05:33:15 +00:00
Andrew Trick
e3e6fae309
TargetSchedModel API. Implement latency lookup, disabled.
...
llvm-svn: 164098
2012-09-18 04:03:34 +00:00
Andrew Trick
65c7aae93f
TableGen subtarget emitter. Initialize MCSubtargetInfo with the new machine model.
...
llvm-svn: 164092
2012-09-18 03:18:56 +00:00
Andrew Trick
150c97940b
Revert r164061-r164067. Most of the new subtarget emitter.
...
I have to work out the Target/CodeGen header dependencies
before putting this back.
llvm-svn: 164072
2012-09-17 23:00:42 +00:00
Andrew Trick
9400ee3c79
InitMCProcessor
...
llvm-svn: 164066
2012-09-17 22:19:12 +00:00
Andrew Trick
3d3f796f3f
TargetSchedModel API. Implement latency lookup, disabled.
...
llvm-svn: 164065
2012-09-17 22:19:08 +00:00
Andrew Trick
8a499d1f62
TableGen subtarget emitter. Initialize MCSubtargetInfo with the new machine model.
...
llvm-svn: 164061
2012-09-17 22:18:55 +00:00
Craig Topper
f3bd737f5d
Use LLVM_DELETED_FUNCTION in place of 'DO NOT IMPLEMENT' comments.
...
llvm-svn: 163970
2012-09-15 16:23:52 +00:00
Andrew Trick
344fdddf04
TargetSchedModel interface. To be implemented...
...
llvm-svn: 163934
2012-09-14 20:26:46 +00:00
Andrew Trick
d5d5992107
Define MC data tables for the new scheduling machine model.
...
llvm-svn: 163933
2012-09-14 20:26:41 +00:00
Dmitri Gribenko
93c7ec80b7
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
Jim Grosbach
7cb6ddb81b
Assembler: Darwin variables defined via .set are no-dead-strip.
...
For gas compatibility.
rdar://12219394
llvm-svn: 163854
2012-09-13 23:11:31 +00:00
Jim Grosbach
9f25ce7cba
MachO: Correctly mark symbol-difference variables as N_ABS.
...
.set a, b - c + CONSTANT
d = b - c + CONSTANT
Both 'a' and 'd' should be marked as absolute symbols (N_ABS).
rdar://12219394
llvm-svn: 163853
2012-09-13 23:11:25 +00:00
Manman Ren
fdeb41a212
Release build: guard dump functions with
...
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)"
No functional change. Update r163344.
llvm-svn: 163679
2012-09-12 05:06:18 +00:00
Jakob Stoklund Olesen
1e7f74aaa8
Add MCRI::getNumSubRegIndices() and start checking SubRegIndex ranges.
...
Apparently, NumSubRegIndices was completely unused before. Adjust it by
one to include the null subreg index, just like getNumRegs() includes
the null register.
llvm-svn: 163628
2012-09-11 16:34:02 +00:00
Dmitri Gribenko
1d75adbbb2
Remove redundant semicolons which are null statements.
...
llvm-svn: 163547
2012-09-10 21:26:47 +00:00
Benjamin Kramer
f7e00de5d0
Fix alignment of .comm and .lcomm on mingw32.
...
For some reason .lcomm uses byte alignment and .comm log2 alignment so we can't
use the same setting for both. Fix this by reintroducing the LCOMM enum.
I verified this against mingw's gcc.
llvm-svn: 163420
2012-09-07 21:08:01 +00:00
Benjamin Kramer
bd07d928aa
Contrary to what the documentation says, .lcomm alignment on COFF is in bytes, not power of 2.
...
llvm-svn: 163405
2012-09-07 18:56:10 +00:00
Benjamin Kramer
f7fdee3ce3
MC: Overhaul handling of .lcomm
...
- Darwin lied about not supporting .lcomm and turned it into zerofill in the
asm parser. Push the zerofill-conversion down into macho-specific code.
- This makes the tri-state LCOMMType enum superfluous, there are no targets
without .lcomm.
- Do proper error reporting when trying to use .lcomm with alignment on a target
that doesn't support it.
- .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2.
- Fixes PR13755 (.lcomm crashes on ELF).
llvm-svn: 163395
2012-09-07 17:25:13 +00:00
Manman Ren
3f0d6dd93f
Release build: guard dump functions with "ifndef NDEBUG"
...
No functional change.
llvm-svn: 163344
2012-09-06 19:55:56 +00:00
Roman Divacky
865ac925b9
Constify subtarget info properly so that we dont cast away the const in
...
the SubtargetInfoKV tables. Found by gcc48 -Wcast-qual.
llvm-svn: 163251
2012-09-05 21:43:57 +00:00
Owen Anderson
42ebf056b8
Allow targets to specify a minimum supported NOP size when performing NOP padding. If the desired padding is smaller than the supported NOP size,
...
we will enlarge the padding to make it work.
llvm-svn: 162870
2012-08-29 22:18:56 +00:00
Craig Topper
ed7a8c9ddf
Add virtual keywords for methods that override the base class.
...
llvm-svn: 162826
2012-08-29 05:48:09 +00:00
Rafael Espindola
7604a1b199
Fix comment.
...
llvm-svn: 162678
2012-08-27 16:04:24 +00:00
Roman Divacky
eab620e38c
Lower constant pools and jump tables via TOC on PPC64/SVR4.
...
In collaboration with Adhemerval Zanella.
llvm-svn: 162562
2012-08-24 16:26:02 +00:00
Dmitri Gribenko
98218ea1ef
Fix a bunch of -Wdocumentation warnings.
...
llvm-svn: 162446
2012-08-23 16:54:08 +00:00
Benjamin Kramer
e09e72a083
Reduce duplicated hash map lookups.
...
llvm-svn: 162362
2012-08-22 15:37:57 +00:00
Jack Carter
1b099ac7c7
For mips64 switch statements in subroutines could generate
...
within the codegen EK_GPRel64BlockAddress. This was not
supported for direct object output and resulted in an assertion.
This change adds support for EK_GPRel64BlockAddress for
direct object.
One fallout from this is to turn on rela relocations
for mips64 to match gas.
llvm-svn: 162334
2012-08-22 00:49:30 +00:00
Rafael Espindola
f67c62714f
Fix macros arguments with an underscore, dot or dollar in them. This is based
...
on a patch by Andy/PaX. I added the support for dot and dollar.
llvm-svn: 162298
2012-08-21 18:29:30 +00:00
Rafael Espindola
2683030b12
Make the wording in of the "expected identifier" error in the .macro directive
...
consistent with the other "expected identifier" errors.
Extracted from the Andy/PaX patch. I added the test.
llvm-svn: 162291
2012-08-21 17:12:05 +00:00
Rafael Espindola
4599a394a3
Use typedefs. Fix indentation. Extracted from the Andy/PaX patch.
...
llvm-svn: 162283
2012-08-21 16:06:48 +00:00