summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCParser/COFFAsmParser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add back the MC bits of 126425. Original patch by Nathan Jeffords. I added theRafael Espindola2011-12-171-0/+17
| | | | | | asm parsing and testcase. llvm-svn: 146801
* Rename TargetAsmParser to MCTargetAsmParser and TargetAsmLexer to ↵Evan Cheng2011-07-261-1/+1
| | | | | | MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser. llvm-svn: 136027
* Move some ELF directives into ELF asm parser.Jim Grosbach2011-07-251-0/+34
| | | | | | | | | | | | | | The .local, .hidden, .internal, and .protected are not legal for all supported file formats (in particular, they're invalid for MachO). Move the parsing for them into the ELF assembly parser since that's the format they're for. Similarly, .weak is used by COFF and ELF, but not MachO, so move the parsing to the COFF and ELF asm parsers. Previously, using any of these directives on Darwin would result in an assertion failure in the parser; now we get a diagnostic as we should. rdar://9827089 llvm-svn: 135921
* Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where ↵Evan Cheng2011-07-231-1/+1
| | | | | | they belong. llvm-svn: 135833
* Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo downEvan Cheng2011-07-181-3/+8
| | | | | | | | | to MCRegisterInfo. Also initialize the mapping at construction time. This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step towards fixing the layering violation. llvm-svn: 135424
* Move some parts of TargetAsmInfo down to MCAsmInfo. This is not the greatestEvan Cheng2011-07-151-3/+3
| | | | | | | solution but it is a small step towards removing the horror that is TargetAsmInfo. llvm-svn: 135237
* Add tests for .seh_setframe and .seh_handlerdata parsing. Fix issues withCharles Davis2011-05-251-2/+6
| | | | | | | | | | them. I had to add a special SwitchSectionNoChange method to MCStreamer just for .seh_handlerdata. If this isn't OK, please let me know, and I'll find some other way to fix .seh_handlerdata streaming. llvm-svn: 132084
* Add tests for .seh_savereg and .seh_savexmm parsing. Once again, fix theCharles Davis2011-05-251-6/+17
| | | | | | buggy methods that parse these directives. llvm-svn: 132045
* Add a test for .seh_pushframe parsing. Fix the bug exposed by it (and anotherCharles Davis2011-05-251-6/+9
| | | | | | one I found by inspection). llvm-svn: 132037
* Add a test for the .seh_handler directive. Fix problems with the parsingCharles Davis2011-05-251-23/+22
| | | | | | | method exposed by the test. While we're at it, simplify the .seh_proc parsing method. llvm-svn: 132028
* Implement the rest of the SEH directive-parsing methods in the COFFAsmParser.Charles Davis2011-05-241-11/+112
| | | | | | | | | Add a size alignment check to the .seh_stackalloc directive parser. Add a more descriptive error message to the .seh_handler directive parser. Add methods to the TargetAsmInfo struct in support of all this. llvm-svn: 131992
* Implement .seh_stackalloc and .seh_pushframe parsing.Charles Davis2011-05-231-4/+27
| | | | | | | | | I haven't implemented any of the ones that take registers yet. The problem is that for x86-64 the streamer methods expect a native x86 register number (note: %r8-%r15 want 8-15 instead of 0-7; same for %xmm8-%xmm15). I haven't figured out exactly how I want to do that yet. llvm-svn: 131899
* Add methods to parse the SEH directives to the COFFAsmParser. Implement someCharles Davis2011-05-221-0/+157
| | | | | | | of them, particularly the ones that don't take arguments. Also implement .seh_proc and .seh_handler. llvm-svn: 131866
* MC-COFF: Add COFFAsmParser. Completes PR8343.Michael J. Spencer2010-10-091-0/+144
llvm-svn: 116150
OpenPOWER on IntegriCloud