- Jan 16, 2014
-
-
Rui Ueyama authored
llvm-svn: 199422
-
Rui Ueyama authored
llvm-svn: 199421
-
Owen Anderson authored
Teach InstCombine that (fmul X, -1.0) can be simplified to (fneg X), which LLVM expresses as (fsub -0.0, X). llvm-svn: 199420
-
Rui Ueyama authored
llvm-svn: 199419
-
Rui Ueyama authored
llvm-svn: 199418
-
Rui Ueyama authored
llvm-svn: 199417
-
David Majnemer authored
The MSVC ABI is rather finicky about the exact representation of it's pointer-to-member representation. The exact position of when and where it will go with one representation versus another appears to be when it desires the pointer-to-member to be complete. To properly implement this in clang, do several things: - Give up on tracking the polymorphic nature of the class. It isn't useful to Sema and is only pertinent when choosing CodeGen-time details like whether the field-offset can be 0 instead of -1. - Insist on locking-in the inheritance model when we ask our pointer-to-member type to be complete. From there, grab the underlying CXXRecordDecl and try to make *that* complete. Once we've done this, we can calculate it's inheritance model and apply it using an attribute. N.B. My first bullet point is a lie. We will eventually care about the specifics of whether or not a CXXRecordDecl is or is not polymorphic because MSVC compatible mangling of such things depends on it. However, I believe we will handle this in a rather different way. llvm-svn: 199416
-
Aaron Ballman authored
When generating Spelling enumeration values, do not generate identifiers in the reserved namespace. Strip underscores as appropriate, taking care to not create duplicate identifiers. llvm-svn: 199414
-
Bob Wilson authored
<rdar://problem/15831288> llvm-svn: 199413
-
Daniel Jasper authored
Before: int a = [operation block:^int(int * i) { return 1; }]; After: int a = [operation block:^int(int *i) { return 1; }]; llvm-svn: 199411
-
Aaron Ballman authored
Giving a spelling to the Override attribute, and commenting on the absence of a spelling for a few implicitly-only attributes. No functional change intended. llvm-svn: 199410
-
Rui Ueyama authored
llvm-svn: 199409
-
Sean Callanan authored
in a better way. llvm-svn: 199408
-
Kevin Enderby authored
with raw_ostream's write_escaped() method. For example darwin's otool(1) program that uses the llvm disassembler now produces disassembly like this: leaq 0x7b(%rip), %rdi ## literal pool for: "%f\ntoto\n" and not print the new lines which messes up the output. rdar://15145300 llvm-svn: 199407
-
Jordan Rose authored
Citation: C++11 [expr.shift]p1 (and the equivalent text in C11). This fixes PR18073, but the right thing to do (as noted in the FIXME) is to have a real checker for too-large shifts. llvm-svn: 199405
-
Ed Maste authored
PR: http://llvm.org/pr18431 Review: http://llvm-reviews.chandlerc.com/D2552 llvm-svn: 199404
-
Daniel Sanders authored
llvm-svn: 199403
-
Daniel Sanders authored
[mips][sched] Put AND, OR, XOR, MOVT_I, and MOVF_I in the same itinerary class as their non-microMIPS counterparts. No functional change since both classes have the same InstrItinData definition. llvm-svn: 199402
-
Alp Toker authored
Includes some style tweaks and removes the tautological observation that "Clang is still under heavy development" -- it hopefully always will be. llvm-svn: 199401
-
Marshall Clow authored
Add license headers to a bunch of libc++ files that were missing them. No functionality change. Fixes 18291. Thanks to Nico for the bug report and the patch. llvm-svn: 199400
-
Jakob Stoklund Olesen authored
llvm-svn: 199399
-
Alp Toker authored
Also shuffle the Communication section so the bug tracker comes first. (The sidebar isn't scrollable at the moment so this gives a better chance of the bug tracker being seen. The links further down are basically invisible -- we should look into that.) llvm-svn: 199398
-
Rafael Espindola authored
llvm-svn: 199397
-
Daniel Sanders authored
No functional change since there are no InstrItinData's. llvm-svn: 199396
-
Daniel Sanders authored
This is necessary because the classes are shared between all implementations. No functional change since the InstrItinData's have been duplicated. llvm-svn: 199394
-
Amara Emerson authored
The encoding of build attributes is already tested in CodeGen/ARM/build-attributes-encoding.s llvm-svn: 199393
-
Aaron Ballman authored
Fixing a warning that causes the sanitizer build disliked about mixing && and ||. Since this is generated code, the && has been removed from the expression entirely. llvm-svn: 199392
-
Daniel Sanders authored
IIArith -> II_ADD, II_ADDU, II_AND, II_CL[ZO], II_DADDIU, II_DADDU, II_DROTR, II_DROTR32, II_DROTRV, II_DSLL, II_DSLL32, II_DSLLV, II_DSR[AL], II_DSR[AL]32, II_DSR[AL]V, II_DSUBU, II_LUI, II_MOV[ZFNT], II_NOR, II_OR, II_RDHWR, II_ROTR, II_ROTRV, II_SLL, II_SLLV, II_SR[AL], II_SR[AL]V, II_SUBU, II_XOR No functional change since the InstrItinData's have been duplicated. This is necessary because the classes are shared between all schedulers. Once this patch series is committed there will be an InstrItinClass for each mnemonic with minimal grouping. This does increase the size of the itinerary tables for each MIPS scheduler but we have a few options for dealing with that later. These options include reducing the number of classes once we see the best way to simplify them, or by extending tablegen to be able to compress the table by eliminating duplicates entries, etc. llvm-svn: 199391
-
Evgeniy Stepanov authored
llvm-svn: 199390
-
Daniel Sanders authored
This matches the itin class used by the non-microMIPS equivalents of these instructions. llvm-svn: 199389
-
Alexander Potapenko authored
llvm-svn: 199388
-
Aaron Ballman authored
Factored some function-like type reasoning out of SemaDeclAttr and onto Decl itself. This allows for more declarative subjects in attribute tablegen where the attribute appertains to something function-like, but not strictly a FunctionDecl. llvm-svn: 199387
-
Joerg Sonnenberger authored
llvm-svn: 199386
-
Alexander Potapenko authored
llvm-svn: 199385
-
Alexey Samsonov authored
This change allows to compile sanitizer sources so that *san runtime will attempt to use libbacktrace and/or libiberty for symbolization (instead of communicating with llvm-symbolizer). I've tested this patch by manually defining SANITIZER_LIBBACKTRACE and/or SANITIZER_CP_DEMANGLE, linking with necessary libraries and verifying that all tests from ASan test suite work. Based on patches by Jakub Jelinek! llvm-svn: 199384
-
Alexander Potapenko authored
llvm-svn: 199383
-
Aaron Ballman authored
Giving the asm attribute some keyword spellings based off of GCC's documentation. No functional changes. llvm-svn: 199382
-
Daniel Sanders authored
[mips] IIImult should have an InstrItinData in the generic scheduler. Used the same one as for IIImul. Affects: DMULT, DMULTu, MADD, MADD_MM, MADDU, MADDU_MM, MSUB, MSUB_MM, MSUBU, MSUBU_MM, MULT, MULTu Does not affect MULT_MM, MULTu_MM since they are currently miscategorised as IIImul. llvm-svn: 199381
-
Evgeniy Stepanov authored
llvm-svn: 199380
-
Evgeniy Stepanov authored
llvm-svn: 199379
-