summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [sanitizer] Fix a bug in AdjustStackSize().Sergey Matveev2014-03-181-2/+3
| | | | | | | If the user requests OS default stack size, do not adjust it to our minimum stack size (which is usually much less than the OS default). llvm-svn: 204173
* [PECOFF] Support yet another new type of weak symbol.Rui Ueyama2014-03-187-15/+124
| | | | | | | | | | COMDAT_SELECT_LARGEST is a COMDAT type that make linker to choose the largest definition from among all of the definition of a symbol. If the size is the same, the choice is arbitrary. Differential Revision: http://llvm-reviews.chandlerc.com/D3011 llvm-svn: 204172
* Use early returns to reduce nesting.Rui Ueyama2014-03-181-69/+69
| | | | llvm-svn: 204171
* Fix expression parsing (on FreeBSD, at least)Ed Maste2014-03-181-0/+1
| | | | | | | This reverts part of r204112 (Expression: cleanup unused include). It looks like MCJIT.h is required to force MCJIT to be linked. llvm-svn: 204170
* Fix source code formattingTobias Grosser2014-03-181-2/+2
| | | | llvm-svn: 204169
* Dependences: Further reduce the allowed compile timeTobias Grosser2014-03-181-1/+1
| | | | | | | | llvm.org/PR19081 reports that the polly dependence analysis causes some h264 compilation to hang. We adjust the compute out, to ensure we do not block on expensive dependence calculations. llvm-svn: 204168
* autoconf: Add PLUTO_FOUND flagTobias Grosser2014-03-181-0/+1
| | | | | | | This fixes llvm.org/PR12250. Contributed-by: Sam Novak <snovak@uwsp.edu> llvm-svn: 204167
* Fix test lsr-normalization.ll broken in r204161.Michael Zolotukhin2014-03-181-5/+5
| | | | llvm-svn: 204166
* Print function and region name in scop descriptionTobias Grosser2014-03-182-1/+4
| | | | llvm-svn: 204165
* Creating a printing policy for "half":Yunzhong Gao2014-03-188-5/+16
| | | | | | | | | | | | Since "half" is an OpenCL keyword and clang accepts __fp16 as an extension for other languages, error messages and metadata (and hence debug info) should refer to the half-precision floating point as "__fp16" instead of "half" when compiling for non-OpenCL languages. This patch creates a new printing policy for half in a similar manner to what is done for bool and wchar_t. Differential Revision: http://llvm-reviews.chandlerc.com/D2952 llvm-svn: 204164
* Add support for scalarizing/splitting vector bswap.Raul E. Silvera2014-03-182-0/+21
| | | | | | | | | | | | | | Summary: SLP Vectorization of intrinsics (r203707) has exposed cases where the expansion of vector bswap is failing (PR19151). Reviewers: hfinkel CC: chandlerc Differential Revision: http://llvm-reviews.chandlerc.com/D3104 llvm-svn: 204163
* Debug info: Remove OdrMemberMap from DwarfDebug, it's not necessary.Adrian Prantl2014-03-184-51/+5
| | | | | | Follow-up to r203982. llvm-svn: 204162
* Add stride normalization to SCEV Normalize/Denormalize transformation.Michael Zolotukhin2014-03-182-4/+30
| | | | llvm-svn: 204161
* [DAGCombiner] teach how to simplify xor/and/or nodes according to the ↵Andrea Di Biagio2014-03-183-21/+307
| | | | | | | | | | | | | | following rules: 1) (AND (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (AND (A, B), C, Mask) 2) (OR (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (OR (A, B), C, Mask) 3) (XOR (shuf (A, C, Mask), shuf (B, C, Mask)) -> shuf (XOR (A, B), V_0, Mask) 4) (AND (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (C, AND (A, B), Mask) 5) (OR (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (C, OR (A, B), Mask) 6) (XOR (shuf (C, A, Mask), shuf (C, B, Mask)) -> shuf (V_0, XOR (A, B), Mask) llvm-svn: 204160
* Objective-C. Better fix for my previous patch Fariborz Jahanian2014-03-181-12/+7
| | | | | | | | | "No need to issue deprecated warning if deprecated method in class extension is being implemented in primary class implementation (no overriding is involved). // rdar://16249335". No functionality change. llvm-svn: 204159
* X86: Use enums for memory operand decoding instead of integer literals.Manuel Jacob2014-03-185-53/+54
| | | | | | | | | | | | | | | | Summary: X86BaseInfo.h defines an enum for the offset of each operand in a memory operand sequence. Some code uses it and some does not. This patch replaces (hopefully) all remaining locations where an integer literal was used instead of this enum. No functionality change intended. Reviewers: nadav CC: llvm-commits, t.p.northover Differential Revision: http://llvm-reviews.chandlerc.com/D3108 llvm-svn: 204158
* Enable CFI on Hexagon.Krzysztof Parzyszek2014-03-181-1/+0
| | | | llvm-svn: 204157
* clang-format: Detect function-like macros only when upper case is used.Alexander Kornienko2014-03-182-13/+34
| | | | | | | | | | | | Reviewers: djasper Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D3110 llvm-svn: 204156
* Fix PR19144: Incorrect offset generated for int-to-fp conversion at -O0.Bill Schmidt2014-03-182-3/+158
| | | | | | | | | | | | | | | | | | When converting a signed 32-bit integer to double-precision floating point on hardware without a lfiwax instruction, we have to instead use a lfd followed by fcfid. We were erroneously offsetting the address by 4 bytes in preparation for either a lfiwax or lfiwzx when generating the lfd. This fixes that silly error. This was not caught in the test suite since the conversion tests were run with -mcpu=pwr7, which implies availability of lfiwax. I've added another test case for older hardware that checks the code we expect in the absence of lfiwax and other flavors of fcfid. There are fewer tests in this test case because we punt to DAG selection in more cases on older hardware. (We must generate complex fiddly sequences in those cases, and there is marginal benefit in duplicating that logic in fast-isel.) llvm-svn: 204155
* tsan: fix malloc/munmap mismatchDmitry Vyukov2014-03-181-1/+1
| | | | llvm-svn: 204154
* Added a __has_feature() for 'is_constructible'Marshall Clow2014-03-182-0/+6
| | | | llvm-svn: 204153
* [msan] Origin tracking with history, compiler-rt part.Evgeniy Stepanov2014-03-187-79/+285
| | | | | | | | Compiler-rt part of MSan implementation of advanced origin tracking, when we record not only creation point, but all locations where an uninitialized value was stored to memory, too. llvm-svn: 204152
* [msan] Origin tracking with history.Evgeniy Stepanov2014-03-183-11/+55
| | | | | | | | LLVM part of MSan implementation of advanced origin tracking, when we record not only creation point, but all locations where an uninitialized value was stored to memory, too. llvm-svn: 204151
* tsan: deadlock detector: add deadlock detector flagsDmitry Vyukov2014-03-188-23/+63
| | | | | | the first flags is to enable printing of the second stack per edge llvm-svn: 204150
* tsan: deadlock detector: print 2 stacks per deadlock edgeDmitry Vyukov2014-03-182-13/+48
| | | | llvm-svn: 204149
* tsan: addrhashmap: fix bug with initialization of addresses in add arrayDmitry Vyukov2014-03-181-3/+10
| | | | llvm-svn: 204148
* tsan: deadlock detector: add ability to ignore destruction of global mutexesDmitry Vyukov2014-03-181-2/+33
| | | | llvm-svn: 204146
* [CMake] Build compiler-rt libraries with -std=c++11Alexey Samsonov2014-03-182-0/+3
| | | | llvm-svn: 204145
* modify declare-use.S to work when full toolchain not presentMatthew Curtis2014-03-181-1/+1
| | | | | | | | Test doesn't actually require production of an object file and for some targets (e.g. hexagon) an assembler is not always available when lit tests are run. llvm-svn: 204144
* [OPENMP] DSA fixAlexey Bataev2014-03-181-1/+16
| | | | llvm-svn: 204143
* Tolerate unmangled names in sample profiles.Diego Novillo2014-03-184-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The compiler does not always generate linkage names. If a function has been inlined and its body elided, its linkage name may not be generated. When the binary executes, the profiler will use its unmangled name when attributing samples. This results in unmangled names in the input profile. We are currently failing hard when this happens. However, in this case all that happens is that we fail to attribute samples to the inlined function. While this means fewer optimization opportunities, it should not cause a compilation failure. This patch accepts all valid function names, regardless of whether they were mangled or not. Reviewers: chandlerc CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D3087 llvm-svn: 204142
* tsan: lazily initialize deadlock detector runtimeDmitry Vyukov2014-03-181-13/+43
| | | | | | this is necessaary because dlsym can call malloc, which can lock mutexes that we intercept llvm-svn: 204141
* Fix crasher bug.Manuel Klimek2014-03-183-16/+46
| | | | | | | | | | | | | | | Due to not resetting the fake rparen data on the token when iterating over annotated lines, we would pop the last element of the paren stack. This patch fixes the underlying root cause, and makes the code more robust against similar problems in the future: - reset the first token when iterating on the same annotated lines due to preprocessor branches - never pop the last element from the paren stack, so we do not crash, but rather incorrectly format - add assert()s so we can figure out if our assumptions are violated llvm-svn: 204140
* Fix -Werror buildAlexey Samsonov2014-03-181-3/+3
| | | | llvm-svn: 204139
* clang/test/Driver/sanitizer-ld.c: Tweak to accept dos path.NAKAMURA Takumi2014-03-181-1/+1
| | | | llvm-svn: 204138
* Revert r203962 and two revisions depending on it: r204028 and r204059.Alexander Kornienko2014-03-188-406/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The revision I'm reverting breaks handling of transitive aliases. This blocks us and breaks sanitizer bootstrap: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-bootstrap/builds/2651 (and checked locally by Alexey). This revision is the result of: svn merge -r204059:204058 -r204028:204027 -r203962:203961 . + the regression test added to test/MC/ELF/alias.s Another way to reproduce the regression with clang: $ cat q.c void a1(); void a2() __attribute__((alias("a1"))); void a3() __attribute__((alias("a2"))); void a1() {} $ ~/work/llvm-build/bin/clang-3.5-good -c q.c && mv q.o good.o && \ ~/work/llvm-build/bin/clang-3.5-bad -c q.c && mv q.o bad.o && \ objdump -t good.o bad.o good.o: file format elf64-x86-64 SYMBOL TABLE: 0000000000000000 l df *ABS* 0000000000000000 q.c 0000000000000000 l d .text 0000000000000000 .text 0000000000000000 l d .data 0000000000000000 .data 0000000000000000 l d .bss 0000000000000000 .bss 0000000000000000 l d .comment 0000000000000000 .comment 0000000000000000 l d .note.GNU-stack 0000000000000000 .note.GNU-stack 0000000000000000 l d .eh_frame 0000000000000000 .eh_frame 0000000000000000 g F .text 0000000000000006 a1 0000000000000000 g F .text 0000000000000006 a2 0000000000000000 g F .text 0000000000000006 a3 bad.o: file format elf64-x86-64 SYMBOL TABLE: 0000000000000000 l df *ABS* 0000000000000000 q.c 0000000000000000 l d .text 0000000000000000 .text 0000000000000000 l d .data 0000000000000000 .data 0000000000000000 l d .bss 0000000000000000 .bss 0000000000000000 l d .comment 0000000000000000 .comment 0000000000000000 l d .note.GNU-stack 0000000000000000 .note.GNU-stack 0000000000000000 l d .eh_frame 0000000000000000 .eh_frame 0000000000000000 g F .text 0000000000000006 a1 0000000000000000 g F .text 0000000000000006 a2 0000000000000000 g .text 0000000000000000 a3 llvm-svn: 204137
* [OPENMP] Simplified data-sharing attributes analysis.Alexey Bataev2014-03-181-16/+1
| | | | llvm-svn: 204135
* Add IAS/EHABI changes to release notesRenato Golin2014-03-181-3/+32
| | | | llvm-svn: 204134
* DebugIRTests: Fixup for r204130.NAKAMURA Takumi2014-03-181-1/+1
| | | | llvm-svn: 204132
* [msan] Kill -msan-store-clean-origin flag.Evgeniy Stepanov2014-03-181-5/+1
| | | | | | | Not only is it slower than the alternative, but also subtly broken. This commit does not change the default behavior. llvm-svn: 204131
* [C++11] Change DebugInfoFinder to use range-based loopsAlon Mishne2014-03-188-74/+66
| | | | | | Also changes the iterators to return actual DI type over MDNode. llvm-svn: 204130
* Add support for sanitizers arguments on FreeBSDViktor Kutuzov2014-03-182-2/+33
| | | | llvm-svn: 204129
* Move Android ucontext.h out of third_party.Evgeniy Stepanov2014-03-188-118/+47
| | | | | | | Google is re-licensing this code under the standard dual license of compiler-rt. llvm-svn: 204128
* tsan: support up to 1<<20 mutexes in standalone deadlock detectorDmitry Vyukov2014-03-182-40/+62
| | | | llvm-svn: 204127
* tsan: better addr->object hashmapDmitry Vyukov2014-03-182-82/+265
| | | | | | still experimental llvm-svn: 204126
* [msan] Remove unused code.Evgeniy Stepanov2014-03-181-5/+0
| | | | llvm-svn: 204125
* tsan: add missing interceptor for embed symbolizerDmitry Vyukov2014-03-181-0/+18
| | | | llvm-svn: 204124
* [C++11] Mark the target fast isel classes as 'final' so that the compiler ↵Craig Topper2014-03-183-3/+3
| | | | | | can de-virtualize some of the internal calls. llvm-svn: 204123
* Fix lld buildAlexey Samsonov2014-03-181-12/+8
| | | | llvm-svn: 204122
* clang-tidy/ArgumentCommentCheck: Initializer list in non-static members is ↵NAKAMURA Takumi2014-03-182-1/+6
| | | | | | unavailable on msc17. llvm-svn: 204121
OpenPOWER on IntegriCloud