- Mar 26, 2014
-
-
Joerg Sonnenberger authored
up as jump table or other forms of branches on the machine level. llvm-svn: 204819
-
Matheus Almeida authored
parseDirectiveWord is a generic function that parses an expression which means there's no need for it to have such an specific name. Renaming it to parseDataDirective so that it can also be used to handle .dword directives[1]. [1]To be added in a follow up commit. No functional changes. llvm-svn: 204818
-
Matheus Almeida authored
The '.set mips64' directive enables the feature Mips:FeatureMips64 from assembly. Note that it doesn't modify the ELF header as opposed to the use of -mips64 from the command-line. The reason for this is that we want to be as compatible as possible with existing assemblers like GAS. llvm-svn: 204817
-
Christian Pirker authored
llvm-svn: 204816
-
Matheus Almeida authored
The '.set mips64r2' directive enables the feature Mips:FeatureMips64r2 from assembly. Note that it doesn't modify the ELF header as opposed to the use of -mips64r2 from the command-line. The reason for this is that we want to be as compatible as possible with existing assemblers like GAS. llvm-svn: 204815
-
Christian Pirker authored
llvm-svn: 204814
-
Tim Northover authored
We've already got versions without the barriers, so this just adds IR-level support for generating the new v8 ones. rdar://problem/16227836 llvm-svn: 204813
-
Joerg Sonnenberger authored
llvm-svn: 204812
-
Matheus Almeida authored
Given that we support multiple directives that enable a particular feature (e.g. '.set mips16'), it's best to hoist that code into a new function so that we don't repeat the same pattern w.r.t parsing and handling error cases. No functional changes. llvm-svn: 204811
-
Dmitry Vyukov authored
llvm-svn: 204810
-
Dmitry Vyukov authored
ReportRace takes the two mutexes in the opposite order llvm-svn: 204809
-
Dmitry Vyukov authored
newer gcc inserts memset here llvm-svn: 204808
-
Tim Northover authored
Patch by Gabor Ballabas. llvm-svn: 204807
-
Renato Golin authored
After some discussion on IRC, emitting a call to the library function seems like a better default, since it will move from a compiler internal error to a linker error, that the user can work around until LLVM is fixed. I'm also adding a note on the responsibility of the user to confirm that the cache was cleared on platforms where nothing is done. llvm-svn: 204806
-
Daniel Sanders authored
[mips] The decision to use MO_GOT_PAGE and MO_GOT_OFST depends on the ABI being N32 or N64 not the arch being MIPS64 Summary: No functional change (in supported use cases) Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3177 llvm-svn: 204805
-
Cameron McInally authored
llvm-svn: 204804
-
Matheus Almeida authored
The directive '.option pic2' enables PIC from assembly source. At the moment none of the macros/directives check the PIC bit but that's going to be fixed relatively soon. For example, the expansion of macros like 'la' depend on the relocation model. llvm-svn: 204803
-
Renato Golin authored
Implementing the LLVM part of the call to __builtin___clear_cache which translates into an intrinsic @llvm.clear_cache and is lowered by each target, either to a call to __clear_cache or nothing at all incase the caches are unified. Updating LangRef and adding some tests for the implemented architectures. Other archs will have to implement the method in case this builtin has to be compiled for it, since the default behaviour is to bail unimplemented. A Clang patch is required for the builtin to be lowered into the llvm intrinsic. This will be done next. llvm-svn: 204802
-
Hal Finkel authored
With VSX there is a real vector select instruction, and so we should use it. Note that VSELECT will still scalarize for v2f64 because the corresponding SetCC result type (v2i64) is not currently a legal type. llvm-svn: 204801
-
Evgeniy Stepanov authored
llvm-svn: 204800
-
Viktor Kutuzov authored
llvm-svn: 204799
-
Joerg Sonnenberger authored
NetBSD/aarch64 to simplify code sharing with NetBSD/arm. llvm-svn: 204798
-
Daniel Sanders authored
These are aliases of t4-t7 and are provided for compatibility with both the original ABI documentation (using t4-t7) and GNU As (using t0-t3) llvm-svn: 204797
-
Daniel Sanders authored
Summary: Added test cases for O32 and N32 on MIPS64. Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3175 llvm-svn: 204796
-
Timur Iskhodzhanov authored
llvm-svn: 204795
-
Alexander Potapenko authored
llvm-svn: 204794
-
Daniel Sanders authored
llvm-svn: 204793
-
Daniel Sanders authored
[mips] Move the CHECK lines in mips*-register-names.s to make it more obvious which CHECK matches with which insn This reveals a small mistake in mips-register-names.s ($sp is tested twice and $s8 is not tested) which will be fixed in a follow-up commit. llvm-svn: 204792
-
Timur Iskhodzhanov authored
llvm-svn: 204791
-
Timur Iskhodzhanov authored
Fix PR19239 - Add support for generating debug info for functions without lexical scopes and/or debug info at all llvm-svn: 204790
-
Timur Iskhodzhanov authored
llvm-svn: 204788
-
Timur Iskhodzhanov authored
llvm-svn: 204787
-
Timur Iskhodzhanov authored
Reviewed at http://llvm-reviews.chandlerc.com/D3181 llvm-svn: 204786
-
Rafael Espindola authored
This reverts commit r204783. llvm-svn: 204785
-
Rafael Espindola authored
This reverts commit r204781. I will follow up to with msan folks to see what is what they were trying to do with aliases to weak aliases. llvm-svn: 204784
-
Rafael Espindola authored
llvm-svn: 204783
-
Hal Finkel authored
These instructions are essentially the same as their Altivec counterparts, but have access to the larger VSX register file. llvm-svn: 204782
-
Rafael Espindola authored
Aliases are just another name for a position in a file. As such, the regular symbol resolutions are not applied. For example, given define void @my_func() { ret void } @my_alias = alias weak void ()* @my_func @my_alias2 = alias void ()* @my_alias We produce without this patch: .weak my_alias my_alias = my_func .globl my_alias2 my_alias2 = my_alias That is, in the resulting ELF file my_alias, my_func and my_alias are just 3 names pointing to offset 0 of .text. That is *not* the semantics of IR linking. For example, linking in a @my_alias = alias void ()* @other_func would require the strong my_alias to override the weak one and my_alias2 would end up pointing to other_func. There is no way to represent that with aliases being just another name, so the best solution seems to be to just disallow it, converting a miscompile into an error. llvm-svn: 204781
-
David Blaikie authored
Allows this test to pass on COFF platforms so we don't need to restrict this test to a single target anymore. llvm-svn: 204780
-
Ed Maste authored
The issue has been fixed by r204745 and r204750 llvm-svn: 204779
-