summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MachO: Comment fields in the version_min load command.Jim Grosbach2014-03-181-3/+4
| | | | llvm-svn: 204189
* [LV] While I'm here, use range based for loops which are so much cleanerChandler Carruth2014-03-181-7/+7
| | | | | | for this kind of walk. llvm-svn: 204188
* [LV] The actual change I intended to commit in r204148. Sorry for theChandler Carruth2014-03-181-8/+1
| | | | | | | | | | | | | noise. Original commit log: Replace some dead code with an assert. When I first ported this pass from a loop pass to a function pass I did so in the naive, recursive way. It doesn't actually work, we need a worklist instead. When I switched to the worklist I didn't delete the naive recursion. That recursion was also buggy because it was dead and never really exercised. llvm-svn: 204187
* CodeGen: Include a function hash in instrumentation based profilingJustin Bogner2014-03-1811-54/+132
| | | | | | | | | The hash itself is still the number of counters, which isn't all that useful, but this separates the API changes from the actual implementation of the hash and will make it easier to transition to the ProfileData library once it's implemented. llvm-svn: 204186
* profile: Include the function hash in PGO profilesJustin Bogner2014-03-181-1/+2
| | | | llvm-svn: 204185
* [LV] Replace some dead code with an assert. When I first ported thisChandler Carruth2014-03-181-2/+2
| | | | | | | | | | pass from a loop pass to a function pass I did so in the naive, recursive way. It doesn't actually work, we need a worklist instead. When I switched to the worklist I didn't delete the naive recursion. That recursion was also buggy because it was dead and never really exercised. llvm-svn: 204184
* More header and forward declaration cleanup.Eric Christopher2014-03-182-5/+1
| | | | llvm-svn: 204183
* Use CRT_HAS_128BIT.Joerg Sonnenberger2014-03-1835-104/+104
| | | | llvm-svn: 204182
* Simplify and add FIXME. No functionality change.Richard Smith2014-03-181-8/+7
| | | | llvm-svn: 204181
* Add back the headers we're getting via (likely) transitive includes.Eric Christopher2014-03-181-0/+4
| | | | | | We really do use these things in the header. llvm-svn: 204180
* SpacingJoerg Sonnenberger2014-03-181-1/+1
| | | | llvm-svn: 204179
* Add back r203962, r204028 and r204059.Rafael Espindola2014-03-187-39/+411
| | | | | | | | This reverts commit r204137. This includes a fix for handling aliases of aliases. llvm-svn: 204178
* Fix for coding style.Eric Christopher2014-03-181-1/+1
| | | | llvm-svn: 204177
* Remove a bunch of unnecessary includes and forward declarations.Eric Christopher2014-03-181-17/+4
| | | | llvm-svn: 204176
* In the presence of modules, we can have multiple implicit instantiations of ↵Richard Smith2014-03-182-87/+127
| | | | | | the same template. Teach RecursiveASTVisitor to visit all of those, not just one of them. This is difficult to test by itself, but will be covered by an upcoming change. llvm-svn: 204175
* X86 memcpy lowering: use "rep movs" even when esi is used as base pointerHans Wennborg2014-03-183-16/+39
| | | | | | | | | | | | | For functions where esi is used as base pointer, we would previously fall back from lowering memcpy with "rep movs" because that clobbers esi. With this patch, we just store esi in another physical register, and restore it afterwards. This adds a little bit of register preassure, but the more efficient memcpy should be worth it. Differential Revision: http://llvm-reviews.chandlerc.com/D2968 llvm-svn: 204174
* [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
OpenPOWER on IntegriCloud