summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Update library dependencies.NAKAMURA Takumi2014-07-2410-9/+10
| | | | llvm-svn: 213832
* R600: Implement enableClusterLoads()Matt Arsenault2014-07-242-0/+7
| | | | llvm-svn: 213831
* [AArch64] Fix a bug generating incorrect instruction when building small vector.Kevin Qin2014-07-242-38/+70
| | | | | | | | | This bug is introduced by r211144. The element of operand may be smaller than the element of result, but previous commit can only handle the contrary condition. This commit is to handle this scenario and generate optimized codes like ZIP1. llvm-svn: 213830
* Add debug asserts / sanity checks toJason Molenda2014-07-241-0/+19
| | | | | | | | | | | | | | GDBRemoteRegisterContext::ReadRegisterBytes and GDBRemoteRegisterContext::WriteRegisterBytes to ensure we don't try to read/write off the end of the register buffer. This should never happen but we've had some target confusion in the past where it did; adding the checks is prudent to avoid crashing here if it happens again. <rdar://problem/16450971> <rdar://problem/16458182> llvm-svn: 213829
* Increase the gdb-remote packet timeout for the first packet we sendJason Molenda2014-07-247-1/+126
| | | | | | | | | | | | | to the remote side (QStartNoAckMode) - it may take a little longer than normal to get a reply. In debugserver, hardcode the priority for several threads so they aren't de-prioritized when a user app is using system resources. Also, set the names of the threads. <rdar://problem/17509866> llvm-svn: 213828
* [AArch64] Disable some optimization cases for type conversion from sint to ↵Jiangning Liu2014-07-242-4/+30
| | | | | | fp, because those optimization cases are micro-architecture dependent and only make sense for Cyclone. A new predicate Cyclone is introduced in .td file. llvm-svn: 213827
* Fixed PR20411 - bug in getINSERTPS()Filipe Cabecinhas2014-07-242-0/+32
| | | | | | | | | | When we had a vector_shuffle where we had an input from each vector, we could miscompile it because we were assuming the input from V2 wouldn't be moved from where it was on the vector. Added a test case. llvm-svn: 213826
* Remove unused Prev pointer from MacroInfo chain.Richard Smith2014-07-243-36/+4
| | | | | | | | Remove pointless MICache: it only ever contained up to 1 object, and was only non-empty when recovering from an error. There's no performance or memory win from maintaining this cache. llvm-svn: 213825
* IR: Add Value::sortUseList()Duncan P. N. Exon Smith2014-07-243-0/+176
| | | | | | | | | | | Add `Value::sortUseList()`, templated on the comparison function to use. The sort is an iterative merge sort that uses a binomial vector of already-merged lists to limit the size overhead to `O(1)`. This is part of PR5680. llvm-svn: 213824
* Add a .clang-format file to enhance formatting experience with clang-formatDavid Majnemer2014-07-241-0/+4
| | | | | | | | | | | | | clang-format is a handy tool that formats code very intelligently. I'd like to use it with LLDB but it requires a .clang-format file to inform it about LLDB-specific formatting rules. More information on these rules are here: http://clang.llvm.org/docs/ClangFormatStyleOptions.html Differential Revision: http://reviews.llvm.org/D4630 llvm-svn: 213823
* ObjectFileMachO: Silence signed/unsigned comparison warningDavid Majnemer2014-07-241-2/+1
| | | | | | | | | | | | | | | | | | | | File::SeekFromStart returns an off_t representing the position of the file after seeking. This return value is always going to be one of two values: the input or -1 in the case of failure. ObjectFileMachO compares an expression of type off_t from the return of File::SeekFromStart(segment.fileoff) and compares it for equality with segment.fileoff. The type of segment_command_64::fileoff is unsigned while off_t is signed, comparing them emits a diagnostic under GCC. Instead, we can just compare SeekFromSTart with -1 to see if we successfully seeked. Differential Revision: http://reviews.llvm.org/D4634 llvm-svn: 213822
* Change the signature of insertElementAt and rename addInputElementFrontRui Ueyama2014-07-243-20/+8
| | | | | | | | | | insertElementAt(x, END) does the identical thing as addInputElement(x), so the only reasonable use of insertElementAt is to call it with the other possible argument, BEGIN. That means the second parameter of the function is just redundant. This patch is to remove the second parameter and rename the function accordingly. llvm-svn: 213821
* Replace r213816's fix with a different one. It's not meaningful to callRichard Smith2014-07-231-3/+2
| | | | | | | isOnePastTheEnd on an invalid designator, so assert and push the check into the one caller that wasn't already checking. llvm-svn: 213820
* Add a VS "14" msbuild toolsetReid Kleckner2014-07-235-0/+75
| | | | | | | | | | | This allows people to try clang inside MSBuild with the VS "14" CTP releases. Fixes PR20341. Patch by Marcel Raad! llvm-svn: 213819
* [PECOFF] Simplify.Rui Ueyama2014-07-231-4/+2
| | | | | | insertElementAt(x, END) is the same as addInputElement(x). llvm-svn: 213818
* Split -Winvalid-command-line-argument into -Wignored-optimization-argumentReid Kleckner2014-07-233-2/+7
| | | | | | | | | | Reviewers: rsmith, nlewycky Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4636 llvm-svn: 213817
* Add a missing Invalid check to SubobjectDesignator::isOnePastEnd()Reid Kleckner2014-07-232-0/+8
| | | | | | | | | | | The class seems to have an invariant that Entries is non-empty if Invalid is false. It appears this method was previously private, and all internal uses checked Invalid. Now there is an external caller, so check Invalid to avoid array OOB underflow. Fixes PR20420. llvm-svn: 213816
* SimplifyCFG: fix a bug in switch to table conversionManman Ren2014-07-232-4/+54
| | | | | | | | | | | | | | | | | | | We use gep to access the global array "switch.table", and the table index should be treated as unsigned. When the highest bit is 1, this commit zero-extends the index to an integer type with larger size. For a switch on i2, we used to generate: %switch.tableidx = sub i2 %0, -2 getelementptr inbounds [4 x i64]* @switch.table, i32 0, i2 %switch.tableidx It is incorrect when %switch.tableidx is 2 or 3. The fix is to generate %switch.tableidx = sub i2 %0, -2 %switch.tableidx.zext = zext i2 %switch.tableidx to i3 getelementptr inbounds [4 x i64]* @switch.table, i32 0, i3 %switch.tableidx.zext rdar://17735071 llvm-svn: 213815
* Fix the build when building with only the ARM backend.Rafael Espindola2014-07-231-1/+1
| | | | llvm-svn: 213814
* Document what backwards compatibility we provide for bitcode.Rafael Espindola2014-07-231-0/+23
| | | | llvm-svn: 213813
* Let llvm/test/CodeGen/X86/avx512*-mask-op.ll(s) aware of Win32 x64 calling ↵NAKAMURA Takumi2014-07-233-10/+10
| | | | | | convention. llvm-svn: 213812
* Fix indenting.Eric Christopher2014-07-231-13/+14
| | | | llvm-svn: 213811
* [x86] Rip out some broken test cases for avx512 i1 store support.Chandler Carruth2014-07-231-29/+0
| | | | | | | | | | It isn't reasonable to test storing things using undef pointers -- storing through those is at best "good luck" and really should be transformed to "unreachable". Random changes in the combiner can randomly break these tests for no good reason. I'm following up on the original commit regarding the right long-term strategy here. llvm-svn: 213810
* Reorganize and simplify local variables.Eric Christopher2014-07-231-13/+11
| | | | llvm-svn: 213809
* Finish inverting the MC -> Object dependency.Rafael Espindola2014-07-238-9/+9
| | | | | | | There were still some disassembler bits in lib/MC, but their use of Object was only visible in the includes they used, not in the symbols. llvm-svn: 213808
* [RuntimeDyld][AArch64] Update relocation tests and also add a simple GOT test.Juergen Ributzka2014-07-231-25/+40
| | | | llvm-svn: 213807
* Remove the query for TargetMachine and TargetInstrInfo since we'reEric Christopher2014-07-231-3/+1
| | | | | | already inside TargetInstrInfo. llvm-svn: 213806
* ArgPromo+DebugInfo: Handle updating debug info over multiple applications of ↵David Blaikie2014-07-232-9/+14
| | | | | | | | | | | | | | | | | | | | | | argument promotion. While the subprogram map cache used by Dead Argument Elimination works there, I made a mistake when reusing it for Argument Promotion in r212128 because ArgPromo may transform functions more than once whereas DAE transforms each function only once, removing all the dead arguments in one go. To address this, ensure that the map is updated after each argument promotion. In retrospect it might be a little wasteful to create a map of all subprograms when only handling a single CGSCC, but the alternative is walking the debug info for each function in the CGSCC that gets updated. It's not clear to me what the right tradeoff is there, but since the current tradeoff seems to be working OK (and the code to keep things updated is very cheap), let's stick with that for now. llvm-svn: 213805
* [PECOFF] Add the entry point file at the right place.Rui Ueyama2014-07-234-24/+33
| | | | | | | | | The entry point file needs to be processed after all other object files and before all .lib files. It was processed after .lib files. That caused an issue that the entry point function was not resolved from the standard library files. llvm-svn: 213804
* Test debug info in arg promotion with an actual promotion case, rather than ↵David Blaikie2014-07-231-5/+8
| | | | | | | | | a degenerate arg promotion that's actually DAE performed by ArgPromo Also the debug location I had here was bogus, describing the location of the call site as in the callee - and unnecessary, so just drop it. llvm-svn: 213803
* [PECOFF] Fix entry point address.Rui Ueyama2014-07-234-4/+19
| | | | | | | Because of a bug, the entry point address in the PE/COFF header was not correct. llvm-svn: 213802
* Use an explicit triple in testcase.Jim Grosbach2014-07-231-1/+1
| | | | | | Make the test work better on non-darwin hosts. Hopefully. llvm-svn: 213801
* [X86,AArch64] Extend vcmp w/ unary op combine to work w/ more constants.Jim Grosbach2014-07-234-6/+44
| | | | | | | | The transform to constant fold unary operations with an AND across a vector comparison applies when the constant is not a splat of a scalar as well. llvm-svn: 213800
* X86: restrict combine to when type sizes are safe.Jim Grosbach2014-07-234-9/+51
| | | | | | | | The folding of unary operations through a vector compare and mask operation is only safe if the unary operation result is of the same size as its input. For example, it's not safe for [su]itofp from v4i32 to v4f64. llvm-svn: 213799
* DAG: fp->int conversion for non-splat constants.Jim Grosbach2014-07-232-13/+26
| | | | | | | | | | Constant fold the lanes of the input constant build_vector individually so we correctly handle when the vector elements are not all the same constant value. PR20394 llvm-svn: 213798
* [Fix] Typo during refactoringJohannes Doerfert2014-07-231-2/+2
| | | | llvm-svn: 213795
* [NVPTX] Add some extra tests for mul.wide to test non-power-of-two source typesJustin Holewinski2014-07-231-0/+22
| | | | llvm-svn: 213794
* [NVPTX] Silence a GCC warning found by the buildbotsJustin Holewinski2014-07-231-1/+1
| | | | | | | The cast to NVPTXTargetLowering was missing a 'const', but let's just access the right pointer through the subtarget anyway. llvm-svn: 213793
* [Refactor] IslAst and payload structJohannes Doerfert2014-07-233-87/+77
| | | | | | | | | | | + Renamed context into build when it's the isl_ast_build + Use the IslAstInfo functions to extract the schedule of a node + Use the IslAstInfo functions to extract the build/context of a node + Move the payload struct into the IslAstInfo class + Use a constructor and destructor (also new and delete) to allocate/initialize the payload struct llvm-svn: 213792
* Build libcxx-tsan only if TSan is supported on host architectureAlexey Samsonov2014-07-231-1/+2
| | | | llvm-svn: 213791
* PR20228: don't retain a pointer to a vector element after the container has ↵Richard Smith2014-07-232-3/+12
| | | | | | been resized. llvm-svn: 213790
* Do not add unroll disable metadata after unrolling pass for loops with ↵Mark Heffernan2014-07-232-17/+50
| | | | | | #pragma clang loop unroll(full). llvm-svn: 213789
* [FastISel][AArch64] Fix return type in FastLowerCall.Juergen Ributzka2014-07-232-4/+16
| | | | | | | | | | I used the wrong method to obtain the return type inside FinishCall. This fix simply uses the return type from FastLowerCall, which we already determined to be a valid type. Reduced test case from Chad. Thanks. llvm-svn: 213788
* Fix unused-variable warningAlexey Samsonov2014-07-231-0/+1
| | | | llvm-svn: 213786
* Fix ctype_base::xdigit for Android.Dan Albert2014-07-231-0/+5
| | | | | | | Android's ctype implementation comes from openbsd, which for some reason doesn't consider numbers to be hex digits. llvm-svn: 213785
* [NVPTX] mul.wide generation works for any smaller integer source types, not ↵Justin Holewinski2014-07-232-2/+24
| | | | | | just the next smaller power of two llvm-svn: 213784
* [UBSan] Add the ability to dump call stacks to -fsanitize=vptrAlexey Samsonov2014-07-237-13/+111
| | | | | | | | | | | This change introduces the first UBSan-specific runtime flag: print_stacktrace (off by default). It can be set in UBSAN_OPTIONS to unwind and print call stacks in addition to diagnostic messages. For now these stacks are printed only in vptr checker. This change is based on http://reviews.llvm.org/D4410 by Byoungyoung Lee! llvm-svn: 213783
* [UBSan] Introduce UBSAN_OPTIONS environment variable.Alexey Samsonov2014-07-232-4/+10
| | | | | | | | | | If UBSan is run in a standalone mode (w/o any other sanitizer), it still uses functions from sanitizer_common, some of which depend on the value of runtime flags. Allow to override the default values of these flags with UBSAN_OPTIONS variable. In particular, UBSAN_OPTIONS=symbolize=0 can be used to turn off online symbolization. llvm-svn: 213782
* Ensure that if some unspecified person were to pass in an invalid ↵Enrico Granata2014-07-233-0/+56
| | | | | | architecture when trying to create a target, that it would fail, but not cause LLDB to crash. llvm-svn: 213781
* [SKX] Added missed test files for rev 213757Robert Khasanov2014-07-234-0/+236
| | | | llvm-svn: 213780
OpenPOWER on IntegriCloud