- May 20, 2013
-
-
Peter Collingbourne authored
llvm-svn: 182292
-
Tom Stellard authored
The -debug-only option is only available on asserts builds. llvm-svn: 182291
-
Alexander Kornienko authored
llvm-svn: 182290
-
Tom Stellard authored
This will simplify the instructions and also the pattern definitions. Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 182288
-
Tom Stellard authored
Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 182287
-
Tom Stellard authored
Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 182286
-
Tom Stellard authored
The hardware supports rotr and not rotl. llvm-svn: 182285
-
Tom Stellard authored
Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 182284
-
Tom Stellard authored
This makes it possible to reorder the operands without breaking the encoding. Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 182283
-
Tom Stellard authored
Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 182282
-
Mihai Popa authored
VSTn instructions have a number of encoding constraints which are not implemented. I have added these using wrapper methods around the original custom decoder (incidentally - this is a huge poorly written method that should be cleaned up. I have left it as is since the changes would be much to hard to review). llvm-svn: 182281
-
Hans Wennborg authored
llvm-svn: 182280
-
Mihai Popa authored
Q registers are encoded in fields of the same length as D registers. As Q registers are half as many, the ARM reference manual mandates the least significant bit to be zeroed out. Failure to do so should result in an undefined instruction. With this change test/MC/Disassembler/ARM/invalid-VQADD-arm.txt is passing (removed XFAIL). llvm-svn: 182279
-
Alexey Samsonov authored
llvm-svn: 182278
-
Peter Collingbourne authored
__libc_stack_end is made into a weak symbol if possible. If libc is not linked, read args and environment from /proc. llvm-svn: 182276
-
Richard Sandiford authored
Before this change, the SystemZ backend would use BRCL for all branches and only consider shortening them to BRC when generating an object file. E.g. a branch on equal would use the JGE alias of BRCL in assembly output, but might be shortened to the JE alias of BRC in ELF output. This was a useful first step, but it had two problems: (1) The z assembler isn't traditionally supposed to perform branch shortening or branch relaxation. We followed this rule by not relaxing branches in assembler input, but that meant that generating assembly code and then assembling it would not produce the same result as going directly to object code; the former would give long branches everywhere, whereas the latter would use short branches where possible. (2) Other useful branches, like COMPARE AND BRANCH, do not have long forms. We would need to do something else before supporting them. (Although COMPARE AND BRANCH does not change the condition codes, the plan is to model COMPARE AND BRANCH as a CC-clobbering instruction during codegen, so that we can safely lower it to a separate compare and long branch where necessary. This is not a valid transformation for the assembler proper to make.) This patch therefore moves branch relaxation to a pre-emit pass. For now, calls are still shortened from BRASL to BRAS by the assembler, although this too is not really the traditional behaviour. The first test takes about 1.5s to run, and there are likely to be more tests in this vein once further branch types are added. The feeling on IRC was that 1.5s is a bit much for a single test, so I've restricted it to SystemZ hosts for now. The patch exposes (and fixes) some typos in the main CodeGen/SystemZ tests. A later patch will remove the {{g}}s from that directory. llvm-svn: 182274
-
Alexey Samsonov authored
llvm-svn: 182272
-
Peter Collingbourne authored
While the C++ standard requires that this lookup take place only at the definition point of a virtual destructor (C++11 [class.dtor]p12), the Microsoft ABI may require the compiler to emit a deleting destructor for any virtual destructor declared in the TU, including ones without a body, requiring an operator delete() lookup for every virtual destructor declaration. The result of the lookup should be the same no matter which declaration is used (except in weird corner cases). This change will cause us to reject some valid TUs in Microsoft ABI mode, e.g.: struct A { void operator delete(void *); }; struct B { void operator delete(void *); }; struct C : A, B { virtual ~C(); }; As Richard points out, every virtual function declared in a TU (including this virtual destructor) is odr-used, so it must be defined in any program which declares it, or the program is ill formed, no diagnostic required. Because we know that any definition of this destructor will cause the lookup to fail, the compiler can choose to issue a diagnostic here. Differential Revision: http://llvm-reviews.chandlerc.com/D822 llvm-svn: 182270
-
Evgeniy Stepanov authored
llvm-svn: 182269
-
Douglas Gregor authored
Fixes <rdar://problem/13933913>. llvm-svn: 182268
-
Sergey Matveev authored
Add missing call to GetUserBegin(). llvm-svn: 182267
-
Reid Kleckner authored
selectany only applies to externally visible global variables. It has the effect of making the data weak_odr. The MSDN docs suggest that unused definitions can only be dropped at linktime, so Clang uses weak instead of linkonce. MSVC optimizes away references to constant selectany data, so it must assume that there is only one definition, hence weak_odr. Reviewers: espindola Differential Revision: http://llvm-reviews.chandlerc.com/D814 llvm-svn: 182266
-
Tobias Grosser authored
As the namings of the scops have changed, polly was not able to read in the user given .jscop files. By renaming the provided files, polly now finds them again and can use them to optimize the matmul function. We also update the generated files to reflect the very latest version of Polly. llvm-svn: 182265
-
Douglas Gregor authored
llvm-svn: 182264
-
Douglas Gregor authored
Add -Wincomplete-module, which detects when a header is included from a module but isn't itself part of a module. llvm-svn: 182263
-
Alexey Samsonov authored
llvm-svn: 182261
-
Alexey Samsonov authored
llvm-svn: 182260
-
Alexander Potapenko authored
[libsanitizer] Introduce INTERCEPTOR_WITH_SUFFIX which is to be used for appending the __DARWIN_ALIAS() version suffixes to function names on Darwin. This should fix asan/lit_tests/wait.cc under ASan. llvm-svn: 182259
-
Benjamin Kramer authored
llvm-svn: 182257
-
Sergey Matveev authored
Separate the notions of user-visible chunk and allocator chunk, to facilitate ASan integration. llvm-svn: 182256
-
Timur Iskhodzhanov authored
See https://code.google.com/p/address-sanitizer/issues/detail?id=187 for the details llvm-svn: 182255
-
Justin Holewinski authored
This converter currently only handles global variables in address space 0. For these variables, they are promoted to address space 1 (global memory), and all uses are updated to point to the result of a cvta.global instruction on the new variable. The motivation for this is address space 0 global variables are illegal since we cannot declare variables in the generic address space. Instead, we place the variables in address space 1 and explicitly convert the pointer to address space 0. This is primarily intended to help new users who expect to be able to place global variables in the default address space. llvm-svn: 182254
-
Justin Holewinski authored
[NVPTX] Fix i1 kernel parameters and global variables. ABI rules say we need to use .u8 for i1 parameters for kernels. llvm-svn: 182253
-
Sergey Matveev authored
We need this to avoid races when ASan and LSan are used together. llvm-svn: 182252
-
Sergey Matveev authored
llvm-svn: 182251
-
Sergey Matveev authored
llvm-svn: 182250
-
Sergey Matveev authored
Leak checking functionality which will be shared between LSan/ASan/MSan. llvm-svn: 182249
-
Sergey Matveev authored
llvm-svn: 182248
-
Sergey Matveev authored
llvm-svn: 182247
-
Sergey Matveev authored
llvm-svn: 182246
-