summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
...
* Replace (Lower|Upper)caseString in favor of StringRef's newest methods.Benjamin Kramer2011-11-061-2/+1
| | | | llvm-svn: 143891
* Twinify.Benjamin Kramer2011-11-051-16/+13
| | | | llvm-svn: 143811
* Add an option to pad an uleb128 to MCObjectWriter and remove the uleb128 ↵Benjamin Kramer2011-11-052-4/+13
| | | | | | | | encoding from the DWARF asm printer. As a side effect we now print dwarf ulebs with .ascii directives. llvm-svn: 143809
* Add mips ELF relocation types. Patch by Jack Carter!Bruno Cardoso Lopes2011-11-041-6/+55
| | | | llvm-svn: 143738
* build: Add initial cut at LLVMBuild.txt files.Daniel Dunbar2011-11-033-0/+69
| | | | llvm-svn: 143634
* Replace tabs I added in this new line of code with spaces.Kevin Enderby2011-11-021-1/+1
| | | | | | Thanks to Nick for spotting this! llvm-svn: 143556
* Fixed a bug in the code to create a dwarf file and directory table entires whenKevin Enderby2011-11-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | it is separating the directory part from the basename of the FileName. Noticed that this: .file 1 "dir/foo" when assembled got the two parts switched. Using the Mac OS X dwarfdump tool it can be seen easily: % dwarfdump -a a.out include_directories[ 1] = 'foo' Dir Mod Time File Len File Name ---- ---------- ---------- --------------------------- file_names[ 1] 1 0x00000000 0x00000000 dir ... Which should be: ... include_directories[ 1] = 'dir' Dir Mod Time File Len File Name ---- ---------- ---------- --------------------------- file_names[ 1] 1 0x00000000 0x00000000 foo llvm-svn: 143521
* First part of support for generating dwarf for assembly source files with theKevin Enderby2011-11-012-0/+26
| | | | | | | | | | | | -g flag. In this part we generate the .file for the source being assembled and the .loc's for the assembled instructions. The next part will be to generate the dwarf Compile Unit DIE and a dwarf subprogram DIE for each non-temporary label. Once the next part is done test cases will be added. rdar://9275556 llvm-svn: 143509
* Teach our Dwarf emission to use the string pool.Nick Lewycky2011-10-272-0/+2
| | | | llvm-svn: 143097
* Trailing whitespace.Jim Grosbach2011-10-261-2/+2
| | | | llvm-svn: 143071
* On an ELF system, ".debug_str" is mergeable and contains null terminated stringsNick Lewycky2011-10-261-2/+3
| | | | | | composed of one byte characters. llvm-svn: 143044
* This is the first of several patches for Mips direct object generation.Bruno Cardoso Lopes2011-10-252-0/+39
| | | | | | | | This first patch is for expression variable kinds. Patch by Jack Carter! llvm-svn: 142934
* Fix parsing of a line with only a # in it.Rafael Espindola2011-10-191-1/+2
| | | | llvm-svn: 142537
* Add support for a new extension to the .file directive:Nick Lewycky2011-10-177-33/+75
| | | | | | | | | | .file filenumber "directory" "filename" This removes one join+split of the directory+filename in MC internals. Because bitcode files have independent fields for directory and filenames in debug info, this patch may change the .o files written by existing .bc files. llvm-svn: 142300
* Let printf do the formatting instead aligning strings ourselves.Benjamin Kramer2011-10-161-11/+10
| | | | | | While at it, merge some format strings. llvm-svn: 142140
* Add AsmToken::getEndLoc and use it to add ranges to x86 asm register parsing.Benjamin Kramer2011-10-161-0/+4
| | | | | | | | <stdin>:1:12: error: register %rax is only available in 64-bit mode incl %rax ^~~~ llvm-svn: 142137
* PR11143: Save the old diagnostic handler and call it when munging ↵Benjamin Kramer2011-10-161-3/+15
| | | | | | | | diagnostics for #line directives. This reenables proper inline asm diagnostics in clang llvm-svn: 142132
* remove the dead 'ShowLine' argument from SMDiagnostic.Chris Lattner2011-10-161-5/+3
| | | | llvm-svn: 142108
* Make SMDiagnostic a little more sane. Instead of passing around ↵Chris Lattner2011-10-161-11/+12
| | | | | | | | note/warning/error as a string, pass it around as an enum. llvm-svn: 142107
* Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang ↵Chris Lattner2011-10-163-28/+24
| | | | | | | | | | | | | | | does. Enhance the X86 asmparser to produce ranges in the one case that was annoying me, for example: test.s:10:15: error: invalid operand for instruction movl 0(%rax), 0(%edx) ^~~~~~~ It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use ranges where appropriate if someone is interested. llvm-svn: 142106
* Disable code/data region symbols on ELF targets, where different mapping ↵Owen Anderson2011-10-141-1/+1
| | | | | | symbols are used for ARM/Thumb mode code. This should only be re-enabled once we have a solution to properly distinguish these. llvm-svn: 141984
* Finish supporting cpp #file/line comments in assembler for error messages. SoKevin Enderby2011-10-121-5/+64
| | | | | | | | for cpp pre-processed assembly we give correct filename and line numbers when reporting errors in assembly files when using clang and -integrated-as on .s files. rdar://8998895 llvm-svn: 141814
* Hoist vector.size() computation out of the loop. No functionality change.Nick Lewycky2011-10-121-1/+2
| | | | llvm-svn: 141807
* Also create a shndx even if there are no symbols. This lets us testNick Lewycky2011-10-111-0/+3
| | | | | | | .symtab_shndx reading and writing together, and finally we have a testcase for r141440. llvm-svn: 141641
* MCAtom extending methods need to extend the range of the atom as well.Owen Anderson2011-10-101-0/+18
| | | | llvm-svn: 141557
* Don't emit the symbol table entry for the .symtab_shndx section either.Nick Lewycky2011-10-071-1/+2
| | | | llvm-svn: 141440
* Remove extraneous curlies. No functionality change.Nick Lewycky2011-10-071-2/+1
| | | | llvm-svn: 141439
* Don't emit a shstrtabindex in the reserved range. Spotted by inspection andNick Lewycky2011-10-071-1/+1
| | | | | | patch by Cary Coutant! llvm-svn: 141413
* Clarify/fix typo. No functionality change.Nick Lewycky2011-10-071-2/+2
| | | | llvm-svn: 141412
* Teach the MC to output code/data region marker labels in MachO and ELF ↵Owen Anderson2011-10-044-1/+101
| | | | | | modes. These are used by disassemblers to provide better disassembly, particularly on targets like ARM Thumb that like to intermingle data in the TEXT segment. llvm-svn: 141135
* Adding back support for printing operands symbolically to ARM's new disassemblerKevin Enderby2011-10-042-3/+3
| | | | | | | | | | | | | | | | | | | using llvm's public 'C' disassembler API now including annotations. Hooked this up to Darwin's otool(1) so it can again print things like branch targets for example this: blx _puts instead of this: blx #-36 and includes support for annotations for branches to symbol stubs like: bl 0x40 @ symbol stub for: _puts and annotations for pc relative loads like this: ldr r3, #8 @ literal pool for: Hello, world! Also again can print the expression encoded in the Mach-O relocation entries for things like this: movt r0, :upper16:((_foo-_bar)+1234) llvm-svn: 141129
* Add definition of MipsELFObjectWriter.Akira Hatanaka2011-09-302-0/+33
| | | | | | Patch by Reed Kotler at Mips Technologies. llvm-svn: 140891
* Sort CMakeLists.txt.Benjamin Kramer2011-09-241-7/+5
| | | | llvm-svn: 140465
* PR10989: Don't print .hidden on Windows.Eli Friedman2011-09-231-1/+2
| | | | llvm-svn: 140356
* Add new files to CMake.Owen Anderson2011-09-221-0/+2
| | | | llvm-svn: 140352
* Update CMake build.Benjamin Kramer2011-09-221-0/+2
| | | | llvm-svn: 140347
* Start stubbing out MCModule and MCAtom, which provide an API for accessing ↵Owen Anderson2011-09-222-0/+124
| | | | | | | | the rich disassembly of a complete object or executable. These are very much a work in progress, and not really useful yet. llvm-svn: 140345
* In the disassembler C API, be careful not to confuse the comment streamer ↵Owen Anderson2011-09-212-3/+7
| | | | | | that the disassembler outputs annotations on with the streamer that the InstPrinter will print them on. llvm-svn: 140217
* MCInstrAnalysis: Don't crash on instructions with no operands.Benjamin Kramer2011-09-191-1/+2
| | | | llvm-svn: 140027
* Don't attach annotations to MCInst's. Instead, have the disassembler ↵Owen Anderson2011-09-155-48/+11
| | | | | | return, and the printer accept, an annotation string which can be passed through if the client cares about annotations. llvm-svn: 139876
* The the MC disassembler C API to print in verbose mode. Perhaps there ↵Owen Anderson2011-09-152-1/+31
| | | | | | should be a parameter to request verbose mode? llvm-svn: 139821
* Add support for stored annotations to MCInst, and provide facilities for ↵Owen Anderson2011-09-152-0/+30
| | | | | | MC-based InstPrinters to print them out. Enhance the ARM and X86 InstPrinter's to do so in verbose mode. llvm-svn: 139820
* Assmebler symbol attribute directives don't work on temporary symbols.Jim Grosbach2011-09-151-1/+6
| | | | | | | | | Assembler private local symbols aren't legal targets of symbol attributes, so issue a diagnostic for them. Based on patch by Stepan Dyatkovskiy. llvm-svn: 139807
* Handle missing newline at EOF more gracefully in MC AsmLexer.Jim Grosbach2011-09-151-1/+8
| | | | | | | | | If we see an EOF w/o a preceding end-of-line, return an EndOfStatement token before returning the Eof token. Based on patch by Stepan Dyatkovskiy. llvm-svn: 139798
* Move state var to private class member.Jim Grosbach2011-09-141-1/+1
| | | | llvm-svn: 139697
* First step in supporting #line directives in assembler. This step parses theKevin Enderby2011-09-132-5/+69
| | | | | | | | | #line directives with the needed support in the lexer. Next will be to build a simple file/line# table mapping source SMLoc's for later use by diagnostics. And the last step will be to get the diagnostics to use the mapping for file and line numbers. llvm-svn: 139669
* Formatting and typo.Eric Christopher2011-09-081-2/+3
| | | | llvm-svn: 139325
* Fix a Darwin x86_64 special case of a jmp to a temporary symbol from an atomKevin Enderby2011-09-081-0/+10
| | | | | | without a base symbol that must not have a relocation entry. llvm-svn: 139316
* Refactor instprinter and mcdisassembler to take a SubtargetInfo. Add -mattr= ↵James Molloy2011-09-073-4/+15
| | | | | | handling to llvm-mc. Reviewed by Owen Anderson. llvm-svn: 139237
* As a first step, emit both the compact unwind and CIE/FDEs for a function.Bill Wendling2011-09-061-13/+7
| | | | llvm-svn: 139152
OpenPOWER on IntegriCloud