summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add -dot flag to test-release.shrelease/3.3.xTom Stellard2013-09-121-3/+36
| | | | | | | | This is meant to be used when testing dot releases e.g.: ./test-release -release 3.3 -dot 1 -rc 1 llvm-svn: 190581
* Bump version to 3.3.1Tom Stellard2013-09-124-12/+23
| | | | llvm-svn: 190580
* Attempt to fix the mingw32 bot.Tom Stellard2013-09-121-5/+4
| | | | | | | | | | | This should hopefully fix http://lab.llvm.org:8011/builders/clang-x86_64-darwin11-self-mingw32 Merged from r182446 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Wed May 22 02:30:47 2013 +0000 llvm-svn: 190579
* Make PrologEpilogInserter save/restore all callee saved registersTom Stellard2013-09-124-1/+60
| | | | | | | | | | | | | | | in functions which call __builtin_unwind_init() __builtin_unwind_init() is an undocumented gcc intrinsic which has this effect, and is used in libgcc_eh. Goes part of the way toward fixing PR8541. Merged from r183984 Author: Derek Schuff <dschuff@google.com> Date: Fri Jun 14 16:15:29 2013 +0000 llvm-svn: 190578
* Update linux-header-search test so it works with dot releasesTom Stellard2013-09-121-6/+6
| | | | llvm-svn: 190577
* PR15662: Optimized debug info produces out of order function parametersTom Stellard2013-07-192-3/+104
| | | | | | | | | | | | | | | | | | | When a function is inlined we lazily construct the variables representing the function's parameters. After that, we add any remaining unused parameters. If the function doesn't use all the parameters, or uses them out of order, then the DWARF would produce them in that order, producing a parameter order that doesn't match the source. This fix causes us to always keep the arg variables at the start of the variable list & in the original order from the source. Merged from r183297 Author: David Blaikie <dblaikie@gmail.com> Date: Wed Jun 5 05:39:59 2013 +0000 llvm-svn: 186678
* AArch64: add CMake dependency to fix very parallel buildsTom Stellard2013-07-191-0/+2
| | | | | | | | Merged from r182190 Author: Tim Northover <t.p.northover@gmail.com> Date: Sat May 18 08:17:47 2013 +0000 llvm-svn: 186677
* Make sure the assembler-with-cpp hack for "#" works with multiple "#"s inTom Stellard2013-07-122-0/+6
| | | | | | | | | | succession. Fixes PR16363. Merged from r184240 Author: Eli Friedman <eli.friedman@gmail.com> Date: Tue Jun 18 21:33:38 2013 +0000 llvm-svn: 186204
* Fix for a regression caused by the LoopVectorizer whenllvmorg-3.3.1-rc1Tom Stellard2013-07-082-3/+50
| | | | | | | | | | | | vectorizing loops with memory accesses to non-zero address spaces. It simply dropped the AS info. Fixes PR16306. Merged from r184103 Author: Pekka Jaaskelainen <pekka.jaaskelainen@tut.fi> Date: Mon Jun 17 18:49:06 2013 +0000 llvm-svn: 185869
* R600: Fix R600ControlFlowFinalizer not considering VTX_READ 128 bit dst regTom Stellard2013-07-082-2/+31
| | | | | | | | | | | | | | | Patch by: Vincent Lejeune https://bugs.freedesktop.org/show_bug.cgi?id=64877 NOTE: This is a candidate for the 3.3 branch. Merged from r182600 Author: Tom Stellard <thomas.stellard@amd.com> Date: Thu May 23 18:26:42 2013 +0000 llvm-svn: 185868
* Merge revisions r181919:183444 except for r182099, r182650, and r182683.Bill Wendling2013-06-19256-1507/+10200
| | | | llvm-svn: 184287
* Updated the links in the LLDB 3.3 sub-project (now 3.3 links) to fix the 3.4 ↵Ashok Thirumurthi2013-06-071-10/+12
| | | | | | | | | merge from trunk. - Also split out a section on build portability and updated the list of features and improvements. --- This now reflects the up-coming merge of patches from trunk into the release_33 branch. llvm-svn: 183554
* Add blurb for PowerPC.llvmorg-3.3.0Bill Wendling2013-06-071-0/+24
| | | | llvm-svn: 183500
* Release notes for dragonegg.Duncan Sands2013-06-061-0/+20
| | | | llvm-svn: 183396
* Add missing space.Duncan Sands2013-06-061-1/+1
| | | | llvm-svn: 183386
* Test that independent block pass does not transform induction variablesTobias Grosser2013-06-062-37/+39
| | | | | | | | | | | | | The original test case showed a problem with the independet blocks pass and we decided to XFAIL it for now. Unfortunately the failure is not detected if we build without asserts and the verification of the independent block pass is not run. This change tests now for the actual reason of the failure and should trigger even in a non asserts build. We did not yet solve the underlying bug, but this should at least make the test suite behavior consistent. Merged from: https://llvm.org/svn/llvm-project/polly/trunk@183025 llvm-svn: 183384
* include missing ISL header fileTobias Grosser2013-06-061-0/+1
| | | | | | | | | to be able to compile with ISL master as of today 1df91d8515ec88dc7f7f597168ad0f34f26de5a7 Merged from: https://llvm.org/svn/llvm-project/polly/trunk@183023 llvm-svn: 183383
* scop detection: only handle functions with loopsTobias Grosser2013-06-065-6/+14
| | | | | | | | to detect scops in functions with no loops, use -polly-detect-scops-in-functions-without-loops Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182941 llvm-svn: 183382
* add comments to clarify the use of a temporary variable in the map insertionTobias Grosser2013-06-061-0/+4
| | | | | | Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182662 llvm-svn: 183381
* independent blocks: do not insert stores between phi nodesTobias Grosser2013-06-061-3/+10
| | | | | | Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182661 llvm-svn: 183380
* fix insertion of values in BBMapTobias Grosser2013-06-061-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In GDB when "step" through generateScalarLoad and "finish" the call, the returned value is non NULL, however when printing the value contained in BBMap[Load] after this stmt: BBMap[Load] = generateScalarLoad(...); the value in BBMap[Load] is NULL, and the BBMap.count(Load) is 1. The only intuitive idea that I have to explain this behavior is that we are playing with the undefined behavior of eval order of the params for the function standing for "BBMap[Load] = generateScalarLoad()". "BBMap[Load] = " may be executed before generateScalarLoad is called. Here are some other possible explanations from Will Dietz <w@wdtz.org>: The error is likely due to BBMap[Load] being evaluated first (creating a {Load -> uninitialized } entry in the DenseMap), then generateScalarLoad eventually accesses the same element and finds it to be NULL (DenseMap[Old]).. Offhand I'm not sure if this is guaranteed to be NULL or if it's uninitialized and happens to be NULL. The same issue can also go wrong in an even worse way: the second DenseMap access can trigger a rehash and *invalidate* the an earlier evaluated expression (for example LHS of the assignment), leading to a crash when performing the assignment store. Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182655 llvm-svn: 183379
* Remove .htaccess fileTobias Grosser2013-06-061-1/+0
| | | | | | | | | | | | | It was initially committed to allow people to get a list of the files used or generated in the matmul tutorial. Since the documentation does now point people to the directory in their git checkout, it is not necessary anymore to make a directory listing available. Especially, as this never worked and recently the LLVM web server does not deliver files in this directory at all due to the unsupported .htaccess file. Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182370 llvm-svn: 183378
* independent blocks: when moving Values, invalidate SCEV cached infoTobias Grosser2013-06-062-3/+28
| | | | | | Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182310 llvm-svn: 183377
* Update matmul example to the latest polly versionTobias Grosser2013-06-0637-1718/+2144
| | | | | | | | | | | 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. Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182265 llvm-svn: 183376
* rename make check target to match the naming convention followed in the ↵Tobias Grosser2013-06-061-2/+2
| | | | | | | | other llvm projects Merged from: https://llvm.org/svn/llvm-project/polly/trunk@182171 llvm-svn: 183375
* Update LoopInfo correctlyTobias Grosser2013-06-066-5/+51
| | | | | | | | | | | | | When the Polly code generation was written we did not correctly update the LoopInfo data, but still claimed that the loop information is correct. This does not only lead to missed optimizations, but it can also cause miscompilations in case passes such as LoopSimplify are run after Polly. Reported-by: Sergei Larin <slarin@codeaurora.org> Merged from: https://llvm.org/svn/llvm-project/polly/trunk@181987 llvm-svn: 183374
* LoopGenerators: Construct loops such that they are already loop rotatedTobias Grosser2013-06-068-76/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | BeforeBB | v GuardBB / \ __ PreHeaderBB \ / \ / | latch HeaderBB | \ / \ / < \ / \ / ExitBB This does not only remove the need for an explicit loop rotate pass, but it also gives us the possibility to skip the construction of the guard condition in case the loop is known to be executed at least once. We do not yet exploit this, but by implementing this analysis in the isl code generator we should be able to remove more guards than the generic loop rotate pass can. Another point is that loop rotation can introduce additional PHI nodes, which may hide that a loop can be executed in parallel. This change avoids this complication and will make it easier to move the openmp code generation into a separate pass. Merged from https://llvm.org/svn/llvm-project/polly/trunk@181986 llvm-svn: 183373
* Update release notes for mips.Akira Hatanaka2013-06-041-0/+26
| | | | llvm-svn: 183249
* Merging r183060:Bill Wendling2013-06-040-0/+0
| | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r183060 | atrick | 2013-05-31 16:34:46 -0700 (Fri, 31 May 2013) | 11 lines Prevent loop-unroll from making assumptions about undefined behavior. Fixes rdar:14036816, PR16130. There is an opportunity to compute precise trip counts for 'or' expressions and multi-exit loops. rdar:14038809: Optimize trip count computation for multi-exit loops. To do this we need to record the fact that ExitLimit assumes NSW. When it does not we can safely assume that the loop trip count is the minimum ExitLimt across all subexpressions and loop exits. ------------------------------------------------------------------------ llvm-svn: 183246
* Merging r182989:Bill Wendling2013-06-040-0/+0
| | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r182989 | atrick | 2013-05-30 23:43:25 -0700 (Thu, 30 May 2013) | 13 lines Fix ScalarEvolution::ComputeExitLimitFromCond for 'or' conditions. Fixes PR16130 - clang produces incorrect code with loop/expression at -O2. This is a 2+ year old bug that's now holding up the release. It's a case where we knowingly made aggressive assumptions about undefined behavior. These assumptions are wrong when SCEV is computing a subexpression that does not directly control the branch. With this fix, we avoid making assumptions in those cases but still optimize the common case. SCEV's trip count computation for exits controlled by 'or' expressions is now analagous to the trip count computation for loops with multiple exits. I had already fixed the multiple exit case to be conservative. ------------------------------------------------------------------------ llvm-svn: 183245
* Remove bit not added to 3.3.Bill Wendling2013-06-041-9/+0
| | | | llvm-svn: 183212
* Update release notes for the 3.3 release.Bill Wendling2013-06-041-69/+39
| | | | llvm-svn: 183208
* Update the release notes for the 3.3 release.Bill Wendling2013-06-043-56/+109
| | | | llvm-svn: 183207
* Merging r183153:llvmorg-3.3.0-rc3Bill Wendling2013-06-042-17/+8
| | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r183153 | dmalea | 2013-06-03 13:45:54 -0700 (Mon, 03 Jun 2013) | 7 lines Fix crash (in optimized builds) due to invalid metadata operand - ConstantDataArray is not a valid MDNode operand - encode function-name strings in metadata by wrapping in an MDString instead - should resolve reported by http://llvm-jenkins.debian.net/job/llvm-toolchain-quantal-binaries/architecture=amd64,distribution=quantal/173/ ------------------------------------------------------------------------ llvm-svn: 183191
* Merging r181909:Bill Wendling2013-06-040-0/+0
| | | | | | ------------------------------------------------------------------------ llvm-svn: 183190
* Merging r183035:Bill Wendling2013-06-042-13/+71
| | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r183035 | arnolds | 2013-05-31 12:53:50 -0700 (Fri, 31 May 2013) | 7 lines LoopVectorize: PHIs with only outside users should prevent vectorization We check that instructions in the loop don't have outside users (except if they are reduction values). Unfortunately, we skipped this check for if-convertable PHIs. Fixes PR16184. ------------------------------------------------------------------------ llvm-svn: 183189
* Merging r183108:Bill Wendling2013-06-041-0/+1
| | | | | | | | | | ------------------------------------------------------------------------ r183108 | vljn | 2013-06-03 08:44:42 -0700 (Mon, 03 Jun 2013) | 1 line R600: CALL_FS consumes a stack size entry ------------------------------------------------------------------------ llvm-svn: 183181
* Merge r182726:Bill Wendling2013-06-0416-52/+60
| | | | | | | | | | Improve support for compiler-rt tests in CMake build. Now compiler-rt tests run correctly if compiler-rt is checked out into arbitrary directory (not necessarily projects/compiler-rt). Patch by Greg Fitzgerald! llvm-svn: 183180
* Merge 183060: Prevent loop-unroll from making assumptions about undefined ↵Andrew Trick2013-06-013-27/+76
| | | | | | | | | | | | | | | | | | behavior. Fixes rdar:14036816, PR16130. There is an opportunity to compute precise trip counts for 'or' expressions and multi-exit loops. rdar:14038809: Optimize trip count computation for multi-exit loops. To do this we need to record the fact that ExitLimit assumes NSW. When it does not we can safely assume that the loop trip count is the minimum ExitLimt across all subexpressions and loop exits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183060 91177308-0d34-0410-b5e6-96231b3b80d8 llvm-svn: 183066
* Merging 182989: Fix ScalarEvolution::ComputeExitLimitFromCond for 'or' ↵Andrew Trick2013-05-312-36/+60
| | | | | | | | | | | | | | | | | | | | conditions. Fixes PR16130 - clang produces incorrect code with loop/expression at -O2. This is a 2+ year old bug that's now holding up the release. It's a case where we knowingly made aggressive assumptions about undefined behavior. These assumptions are wrong when SCEV is computing a subexpression that does not directly control the branch. With this fix, we avoid making assumptions in those cases but still optimize the common case. SCEV's trip count computation for exits controlled by 'or' expressions is now analagous to the trip count computation for loops with multiple exits. I had already fixed the multiple exit case to be conservative. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182989 91177308-0d34-0410-b5e6-96231b3b80d8 llvm-svn: 183013
* Merging r182645:Bill Wendling2013-05-302-0/+5
| | | | | | | | | | | | | | | ------------------------------------------------------------------------ r182645 | eugenis | 2013-05-24 07:28:03 -0700 (Fri, 24 May 2013) | 6 lines Add -lrt to sanitizer link arguments. Sanitizer runtime intercepts functions from librt. Not doing this will fail if the librt dependency is not present at program startup (ex. comes from a dlopen()ed library). ------------------------------------------------------------------------ llvm-svn: 182944
* Merging r182585:Bill Wendling2013-05-291-3/+3
| | | | | | | | | | ------------------------------------------------------------------------ r182585 | aaronballman | 2013-05-23 07:55:00 -0700 (Thu, 23 May 2013) | 1 line Setting the default value (fixes CRT assertions about uninitialized variable use when doing debug MSVC builds), and fixing coding style. ------------------------------------------------------------------------ llvm-svn: 182830
* Merging r182394:Bill Wendling2013-05-296-0/+33
| | | | | | | | | | ------------------------------------------------------------------------ r182394 | jholewinski | 2013-05-21 09:51:30 -0700 (Tue, 21 May 2013) | 1 line [NVPTX] Add @llvm.nvvm.sqrt.f() intrinsic ------------------------------------------------------------------------ llvm-svn: 182829
* Merging r182298:Bill Wendling2013-05-292-9/+44
| | | | | | | | | | ------------------------------------------------------------------------ r182298 | jholewinski | 2013-05-20 09:42:18 -0700 (Mon, 20 May 2013) | 1 line [NVPTX] Fix mis-use of CurrentFnSym in NVPTXAsmPrinter. This was causing a symbol name error in the output PTX. ------------------------------------------------------------------------ llvm-svn: 182828
* Merging r182297:Bill Wendling2013-05-292-3/+24
| | | | | | | | | | ------------------------------------------------------------------------ r182297 | jholewinski | 2013-05-20 09:42:16 -0700 (Mon, 20 May 2013) | 1 line [NVPTX] Add programmatic interface to NVVMReflect pass ------------------------------------------------------------------------ llvm-svn: 182827
* Merging r182254:Bill Wendling2013-05-298-80/+550
| | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r182254 | jholewinski | 2013-05-20 05:13:32 -0700 (Mon, 20 May 2013) | 12 lines [NVPTX] Add GenericToNVVM IR converter to better handle idiomatic LLVM IR inputs 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: 182826
* Merging r182253:Bill Wendling2013-05-293-2/+49
| | | | | | | | | | ------------------------------------------------------------------------ r182253 | jholewinski | 2013-05-20 05:13:28 -0700 (Mon, 20 May 2013) | 1 line [NVPTX] Fix i1 kernel parameters and global variables. ABI rules say we need to use .u8 for i1 parameters for kernels. ------------------------------------------------------------------------ llvm-svn: 182825
* Merging r182656:Bill Wendling2013-05-282-1/+15
| | | | | | | | | | | | ------------------------------------------------------------------------ r182656 | d0k | 2013-05-24 11:05:35 -0700 (Fri, 24 May 2013) | 3 lines LoopVectorize: LoopSimplify can't canonicalize loops with an indirectbr in it, don't assert on those cases. Fixes PR16139. ------------------------------------------------------------------------ llvm-svn: 182785
* Reverting these patches. They were causing regressions. :-(llvmorg-3.3.0-rc2Bill Wendling2013-05-2210-219/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- Reverse-merging r182522 into '.': U source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp U . --- Reverse-merging r182521 into '.': U source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp G . --- Reverse-merging r182520 into '.': U source/Core/ValueObjectVariable.cpp G . --- Reverse-merging r182519 into '.': U source/Symbol/Variable.cpp G . --- Reverse-merging r182518 into '.': U source/Plugins/Process/Linux/ProcessMonitor.cpp U source/Plugins/Process/Linux/ProcessLinux.h G . --- Reverse-merging r182517 into '.': G source/Plugins/Process/Linux/ProcessMonitor.cpp G . --- Reverse-merging r182516 into '.': U source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp U source/Expression/DWARFExpression.cpp U source/Expression/Materializer.cpp U source/Expression/ClangExpressionDeclMap.cpp G . llvm-svn: 182525
* Merging r182441:Bill Wendling2013-05-221-0/+2
| | | | | | | | | | | | | | ------------------------------------------------------------------------ r182441 | gclayton | 2013-05-21 17:10:28 -0700 (Tue, 21 May 2013) | 5 lines <rdar://problem/13455021> Another fix to make sure that if we aren't able to extract an object file for any reason, we don't crash when trying to parse the debug map info. ------------------------------------------------------------------------ llvm-svn: 182522