summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/MCTargetDesc
Commit message (Collapse)AuthorAgeFilesLines
* Revert r150222, as the clang driver now handles this properly.Jim Grosbach2012-02-101-11/+3
| | | | | | | Now that the clang driver passes the CPU and feature information to the backend when processing assembly files (150273), this isn't necessary. llvm-svn: 150274
* ARM on darwin, v6 implies the presence of VFP for the assembler.Jim Grosbach2012-02-101-3/+11
| | | | | | rdar://10838899 llvm-svn: 150222
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-074-15/+13
| | | | llvm-svn: 149961
* Ensure .AliasedSymbol() is called on all uses of getSymbol(). Affects ARM ↵James Molloy2012-01-281-1/+1
| | | | | | | | and MIPS ELF backends. Fixes PR11877 llvm-svn: 149180
* Better user diagnostics for more ARM MachO relocation errors.Jim Grosbach2012-01-271-4/+8
| | | | llvm-svn: 149102
* Keep source information, if available, around for ARM Fixups.Jim Grosbach2012-01-262-9/+14
| | | | | | | | | | | | | | | | | Adjust an example MachObjectWriter diagnostic to use the information to issue a better message. Before: LLVM ERROR: unknown ARM fixup kind! After: x.s:6:5: error: unsupported relocation on symbol beq bar ^ rdar://9800182 llvm-svn: 149093
* Add support for the R_ARM_TARGET1 relocation, which should be given to ↵James Molloy2012-01-261-1/+4
| | | | | | | | relocations applied to all C++ constructors and destructors. This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against. llvm-svn: 149057
* Widen the instruction encoder that TblGen emits to a 64 bits, which should ↵Owen Anderson2012-01-241-1/+1
| | | | | | accomodate every target I can think of offhand. llvm-svn: 148833
* Revert r148686 (and r148694, a fix to it) due to a serious layeringChandler Carruth2012-01-241-2/+5
| | | | | | | | | | | | | | | | | | violation -- MC cannot depend on CodeGen. Specifically, the MCTargetDesc component of each target is actually a subcomponent of the MC library. As such, it cannot depend on the target-independent code generator, because MC itself cannot depend on the target-independent code generator. This change moved a flag from the ARM MCTargetDesc file ARMMCAsmInfo.cpp to the CodeGen layer in ARMException.cpp, leaving behind an 'extern' to refer back to it. That layering order isn't viable givin the constraints outlined above. Commandline flags are designed to be static specifically to avoid these types of bugs. Fixing this is likely going to require some non-trivial refactoring. llvm-svn: 148759
* An option to selectively enable parts of ARM EHABI support.Evgeniy Stepanov2012-01-231-5/+2
| | | | | | | | This change adds an new value to the --arm-enable-ehabi option that disables emitting unwinding descriptors. This mode gives a working backtrace() without the (currently broken) exception support. llvm-svn: 148686
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-203-5/+2
| | | | llvm-svn: 148578
* Silence warnings about mixing enums.Benjamin Kramer2012-01-191-3/+2
| | | | llvm-svn: 148495
* Thumb2 relaxation for tADR to t2ADR.Jim Grosbach2012-01-191-0/+2
| | | | llvm-svn: 148456
* Add comment and fix range check in condition.Jim Grosbach2012-01-191-1/+3
| | | | llvm-svn: 148455
* Thumb2 alternate syntax for LDR(literal) and friends.Jim Grosbach2012-01-181-0/+1
| | | | | | | | Explicit pc-relative syntax. For example, "ldrb r2, [pc, #-22]". rdar://10250964 llvm-svn: 148432
* Thumb2 relaxation for LDR(literal).Jim Grosbach2012-01-181-9/+20
| | | | | | | | | If the fixup is out of range for the Thumb1 instruction, relax it to the Thumb2 encoding instead. rdar://10711829 llvm-svn: 148424
* Tidy up. MCAsmBackend naming conventions.Jim Grosbach2012-01-181-11/+11
| | | | llvm-svn: 148400
* Thumb2 load/store fixups don't set the thumb bit.Jim Grosbach2012-01-181-4/+8
| | | | | | | | | | Load/store instructions w/ a fixup to be relative a function marked as thumb don't use the low bit to specify thumb vs. non-thumb like interworking branches do, so don't set it when dealing with those fixups. rdar://10348687. llvm-svn: 148366
* Move some ARM specific MCAssmebler bits into the ARMAsmBackend.Jim Grosbach2012-01-181-0/+15
| | | | llvm-svn: 148364
* Move default case for covered enum outside of switch.Richard Smith2012-01-101-1/+1
| | | | llvm-svn: 147870
* Fix a -Wreturn-type warning in g++.Richard Smith2012-01-101-0/+1
| | | | llvm-svn: 147867
* Remove unnecessary default cases in switches that cover all enum values.David Blaikie2012-01-102-3/+0
| | | | llvm-svn: 147855
* Fix incorrect relocation generation. Patch by Kristof Beyls.Rafael Espindola2011-12-221-8/+1
| | | | | | Fixes PR11214. llvm-svn: 147180
* Make the virtual methods in ARMELFObjectWriter public.Rafael Espindola2011-12-221-7/+6
| | | | llvm-svn: 147132
* Hopefully fix the cmake build.Rafael Espindola2011-12-221-0/+1
| | | | llvm-svn: 147121
* Fix name in comments.Rafael Espindola2011-12-221-1/+1
| | | | llvm-svn: 147119
* Unbreak cmake build after r147115.Richard Smith2011-12-221-0/+1
| | | | llvm-svn: 147117
* Move the ARM specific parts of the ELF writer to Target/ARM.Rafael Espindola2011-12-223-2/+291
| | | | llvm-svn: 147115
* Reduce the exposure of Triple::OSType in the ELF object writer. This willRafael Espindola2011-12-211-7/+8
| | | | | | | avoid including ADT/Triple.h in many places when the target specific bits are moved. llvm-svn: 147059
* Unweaken vtables as per ↵David Blaikie2011-12-202-2/+10
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* ARM assembly parsing and encoding support for LDRD(label).Jim Grosbach2011-12-193-3/+32
| | | | | | rdar://9932658 llvm-svn: 146921
* ARM NEON relax parse time diagnostics for alignment specifiers.Jim Grosbach2011-12-191-4/+4
| | | | | | | There's more variation that we need to handle. Error checking will need to be on operand predicates. llvm-svn: 146884
* LLVMBuild: Remove trailing newline, which irked me.Daniel Dunbar2011-12-121-1/+0
| | | | llvm-svn: 146409
* Nuke inadvertant debugging commit.Jim Grosbach2011-12-071-3/+0
| | | | llvm-svn: 146057
* Darwin assembler improved relocs when w/o subsections_via_symbols.Jim Grosbach2011-12-071-0/+3
| | | | | | | | When the file isn't being built with subsections-via-symbols, symbol differences involving non-local symbols can be resolved more aggressively. Needed for gas compatibility. llvm-svn: 146054
* Tidy up value checking.Jim Grosbach2011-12-061-1/+2
| | | | llvm-svn: 145895
* Fix ARM handling of tBcc branch relaxation.Jim Grosbach2011-12-061-3/+5
| | | | | | rdar://10069056 llvm-svn: 145885
* Move target-specific logic out of generic MCAssembler.Jim Grosbach2011-12-061-0/+16
| | | | | | | | 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
* Simple branch relaxation for Thumb2 Bcc instructions.Jim Grosbach2011-12-051-3/+24
| | | | | | | Not right yet, as the rules for when to relax in the MCAssembler aren't (yet) correct for ARM. This is a step in the proper direction, though. llvm-svn: 145871
* ARM encoder method needs the physical register number, not the enum.Jim Grosbach2011-12-021-1/+1
| | | | llvm-svn: 145711
* build/CMake: Finish removal of add_llvm_library_dependencies.Daniel Dunbar2011-11-291-7/+0
| | | | llvm-svn: 145420
* Better fix for ARM MOVT relocation encoding of thumb bit.Jim Grosbach2011-11-291-1/+8
| | | | | | Replaces r145318 with a more targetted fix for the relocation handling. llvm-svn: 145346
* Generalize the fixup info for ARM mode.Jim Grosbach2011-11-161-2/+2
| | | | | | | We don't (yet) have the granularity in the fixups to be specific about which bitranges are affected. That's a future cleanup, but we're not there yet. llvm-svn: 144852
* Fix encoding of NOP used for padding in ARM mode .align.Jim Grosbach2011-11-161-1/+1
| | | | llvm-svn: 144842
* Sink codegen optimization level into MCCodeGenInfo along side relocation modelEvan Cheng2011-11-161-2/+3
| | | | | | | and code model. This eliminates the need to pass OptLevel flag all over the place and makes it possible for any codegen pass to use this information. llvm-svn: 144788
* build: Attempt to rectify inconsistencies between CMake and LLVMBuild ↵Daniel Dunbar2011-11-121-1/+1
| | | | | | | | versions of explicit dependencies. - The hope is that we have a tool/test to verify these are accurate (and tight) soon. llvm-svn: 144444
* build: Add initial cut at LLVMBuild.txt files.Daniel Dunbar2011-11-031-0/+24
| | | | llvm-svn: 143634
* ARM VLD/VST assembly parsing for symbolic address operands.Jim Grosbach2011-11-011-1/+1
| | | | llvm-svn: 143413
* Remove NaClModeDavid Meyer2011-10-181-8/+0
| | | | llvm-svn: 142338
* Tidy up. 80 columns.Jim Grosbach2011-10-031-1/+1
| | | | llvm-svn: 141043
OpenPOWER on IntegriCloud