| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
- Each macro instantiation introduces a new buffer, and FindBufferForLoc() is
linear, so previously macro instantiation could be N^2 for some pathological
inputs.
llvm-svn: 169073
|
| |
|
|
|
|
|
| |
to support it. Original patch with the parsing and plumbing by the PaX team and
Roman Divacky. I added the bits in MCDwarf.cpp and the test.
llvm-svn: 168565
|
| |
|
|
|
|
| |
Roman Divacky. I just added the testcase.
llvm-svn: 168520
|
| |
|
|
|
|
|
|
| |
possible buffer change with a .macro directive.
rdar://12637628
llvm-svn: 167408
|
| |
|
|
|
|
|
|
|
|
| |
run through the 'C' preprocessor. That is pick up the file name
and line numbers from the cpp hash file line comments for the
dwarf file and line numbers tables.
rdar://9275556
llvm-svn: 167237
|
| |
|
|
|
|
| |
Part of rdar://12576868
llvm-svn: 166790
|
| |
|
|
|
|
| |
operator.
llvm-svn: 166779
|
| |
|
|
|
|
| |
AsmParser logic. To be used/tested in a subsequent commit.
llvm-svn: 166714
|
| |
|
|
|
|
|
|
|
|
| |
see the offsetof operator. Previously, we were matching something like MOVrm
in the front-end and later matching MOVrr in the back-end. This change makes
things more consistent. It also fixes cases where we can't match against a
memory operand as the source (test cases coming).
Part of rdar://12470317
llvm-svn: 166592
|
| |
|
|
|
|
|
| |
on patch to r166433.
rdar://12470317
llvm-svn: 166488
|
| |
|
|
|
|
|
|
| |
.byte).
<rdar://problem/12470345>.
llvm-svn: 166451
|
| |
|
|
|
|
|
|
| |
and friends.
It's unnecessary and makes the generated assembly less faithful to the original source.
llvm-svn: 166440
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 166360
|
| |
|
|
|
|
| |
inline assembly. Also make sure the remove the ignored statements from the IR.
llvm-svn: 166357
|
| |
|
|
| |
llvm-svn: 166352
|
| |
|
|
| |
llvm-svn: 166349
|
| |
|
|
|
|
|
| |
a memory operand. Retain this information and then add the sizing directives
to the IR. This allows the backend to do proper instruction selection.
llvm-svn: 166316
|
| |
|
|
| |
llvm-svn: 166270
|
| |
|
|
|
|
| |
which will be used by the asm matcher in the near future.
llvm-svn: 166222
|
| |
|
|
|
|
|
| |
*NamedDecl. In turn, build the expressions after we're finished parsing the
asm. This avoids a crasher if the lookup fails.
llvm-svn: 166212
|
| |
|
|
|
|
|
|
|
| |
layer. Add the ParseMSInlineAsm() function, which is the new interface to
clang. Also expose the new MCAsmParserSemaCallback interface, which is used
by the back-end to do name lookup in Sema. Finally, remove the now defunct
APIs introduced in r165946.
llvm-svn: 166183
|
| |
|
|
|
|
| |
in a future commit.
llvm-svn: 166054
|
| |
|
|
|
|
| |
an instruction.
llvm-svn: 165955
|
| |
|
|
|
|
|
|
|
| |
inline assembly. For the time being, these will be called directly by clang.
However, in the near future I expect these to be sunk back into the MC layer
and more basic APIs (e.g., getClobbers(), getConstraints(), etc.) will be called
by clang.
llvm-svn: 165946
|
| |
|
|
|
|
|
|
|
|
|
| |
the interface between the front-end and the MC layer when parsing inline
assembly. Unfortunately, this is too deep into the parsing stack. Specifically,
we're unable to handle target-independent assembly (i.e., assembly directives,
labels, etc.). Note the MatchAndEmitInstruction() isn't the correct
abstraction either. I'll be exposing target-independent hooks shortly, so this
is really just a cleanup.
llvm-svn: 165858
|
| |
|
|
| |
llvm-svn: 165540
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
This patch is based on the one by PaX Team.
Patch by Andy Zhang!
llvm-svn: 164246
|
| |
|
|
|
|
|
|
| |
The directive can be matched with directives other than '.rept'
Patch by Andy Zhang!
llvm-svn: 164245
|
| |
|
|
| |
llvm-svn: 163970
|
| |
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
| |
For gas compatibility.
rdar://12219394
llvm-svn: 163854
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
llvm-svn: 162826
|
| |
|
|
|
|
| |
on a patch by Andy/PaX. I added the support for dot and dollar.
llvm-svn: 162298
|
| |
|
|
|
|
|
| |
consistent with the other "expected identifier" errors.
Extracted from the Andy/PaX patch. I added the test.
llvm-svn: 162291
|
| |
|
|
| |
llvm-svn: 162283
|
| |
|
|
| |
llvm-svn: 162282
|
| |
|
|
| |
llvm-svn: 162281
|
| |
|
|
|
|
| |
Committing it first as it makes the "real" patch a lot easier to read.
llvm-svn: 161491
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Empty macro arguments at the end of the list should be as-if not specified at
all, but those in the middle of the list need to be kept so as not to screw
up the positional numbering. E.g.:
.macro foo
foo_-bash___:
nop
.endm
foo 1, 2, 3, 4
foo 1, , 3, 4
Should create two labels, "foo_1_2_3_4" and "foo_1__3_4".
rdar://11948769
llvm-svn: 161002
|
| |
|
|
| |
llvm-svn: 160621
|
| |
|
|
| |
llvm-svn: 160475
|
| |
|
|
|
|
|
|
| |
AsmParser::ParseStatement.
Patch by Vladimir Medic.
llvm-svn: 159768
|
| |
|
|
| |
llvm-svn: 158604
|
| |
|
|
|
|
|
| |
Patch extracted from a larger one by the PaX team. I added the testcases
and tightened error handling a bit.
llvm-svn: 158523
|
| |
|
|
|
|
|
| |
vector. No functionality change.
Extracted from a patch by the PaX Team.
llvm-svn: 157909
|
| |
|
|
|
|
| |
Part of a patch by the PaX Team.
llvm-svn: 157908
|
| |
|
|
| |
llvm-svn: 157885
|