summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Backing out r174919 while I investigate a self-host bug on Takumi's builder.Lang Hames2013-02-126-367/+11
| | | | llvm-svn: 174925
* DIBuilder: make the return type of createBasicType more specificDavid Blaikie2013-02-122-6/+7
| | | | llvm-svn: 174924
* Minor update to Vim frontend: simplify breakpoints display (and list ↵Daniel Malea2013-02-121-28/+10
| | | | | | unresolved breakpoints) llvm-svn: 174923
* In ARC, emit non-peepholed +1s within the full-expression insteadJohn McCall2013-02-122-17/+58
| | | | | | of immediately afterwards. llvm-svn: 174922
* Split a couple of tests out into their own file.John McCall2013-02-122-93/+95
| | | | llvm-svn: 174921
* Added 0x0D to 2-byte opcode extension table for prefetch* variantsKay Tiong Khoo2013-02-122-4/+3
| | | | | | | Fixed decode of existing 3dNow prefetchw instruction Intel is scheduled to add a compatible prefetchw (same encoding) to future CPUs llvm-svn: 174920
* When generating IR for default copy-constructors, copy-assignment operators,Lang Hames2013-02-116-11/+367
| | | | | | | | | | | | | | | | | | | | move-constructors and move-assignment operators, use memcpy to copy adjacent POD members. Previously, classes with one or more Non-POD members would fall back on element-wise copies for all members, including POD members. This often generated a lot of IR. Without padding metadata, it wasn't often possible for the LLVM optimizers to turn the element-wise copies into a memcpy. This code hasn't yet received any serious tuning. I didn't see any serious regressions on a self-hosted clang build, or any of the nightly tests, but I think it's important to get this out in the wild to get more testing. Insights, feedback and comments welcome. Many thanks to David Blaikie, Richard Smith, and especially John McCall for their help and feedback on this work. llvm-svn: 174919
* Timing data was removed years ago. Remove these links.Tanya Lattner2013-02-111-10/+0
| | | | llvm-svn: 174918
* [ELF] Add support for reading dynamic libraries.Michael J. Spencer2013-02-1116-103/+377
| | | | llvm-svn: 174916
* BBVectorize: Don't over-search when building the dependency mapHal Finkel2013-02-111-2/+10
| | | | | | | | | | | | | When building the pairable-instruction dependency map, don't search past the last pairable instruction. For large blocks that have been divided into multiple instruction groups, searching past the last instruction in each group is very wasteful. This gives a 32% speedup on the csa.ll test case from PR15222 (when using 50 instructions in each group). No functionality change intended. llvm-svn: 174915
* BBVectorize: Omit unnecessary entries in PairableInstUsersHal Finkel2013-02-111-1/+3
| | | | | | | | | | | This map is queried only for instructions in pairs of pairable instructions; so make sure that only pairs of pairable instructions are added to the map. This gives a 3.5% speedup on the csa.ll test case from PR15222. No functionality change intended. llvm-svn: 174914
* [Support][Compiler] Add LLVM_HAS_VARIADIC_TEMPLATES.Michael J. Spencer2013-02-111-0/+10
| | | | llvm-svn: 174913
* [mips] Expand pseudo instructions before they are emitted inAkira Hatanaka2013-02-111-11/+38
| | | | | | | | | | | | | | | | | | | | | | | | | MipsCodeEmitter.cpp. JALR and NOP are expanded by function emitPseudoExpansionLowering, which is not called when the old JIT is used. This fixes the following tests which have been failing on llvm-mips-linux builder: LLVM :: ExecutionEngine__2003-01-04-LoopTest.ll LLVM :: ExecutionEngine__2003-05-06-LivenessClobber.ll LLVM :: ExecutionEngine__2003-06-04-bzip2-bug.ll LLVM :: ExecutionEngine__2005-12-02-TailCallBug.ll LLVM :: ExecutionEngine__2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll LLVM :: ExecutionEngine__hello2.ll LLVM :: ExecutionEngine__stubs.ll LLVM :: ExecutionEngine__test-branch.ll LLVM :: ExecutionEngine__test-call.ll LLVM :: ExecutionEngine__test-common-symbols.ll LLVM :: ExecutionEngine__test-loadstore.ll LLVM :: ExecutionEngine__test-loop.ll llvm-svn: 174912
* Rename AttributeSets to AttributeGroups so that it's more meaningful.Bill Wendling2013-02-113-41/+41
| | | | llvm-svn: 174911
* Use a std::map so that we record the group ID.Bill Wendling2013-02-112-7/+8
| | | | llvm-svn: 174910
* Rename to something more sensible. No functionality change.Bill Wendling2013-02-111-14/+14
| | | | llvm-svn: 174909
* [mips] Fix indentation.Akira Hatanaka2013-02-111-41/+39
| | | | llvm-svn: 174907
* Don't bother reconciling external visible decls against our current set ofRichard Smith2013-02-112-12/+6
| | | | | | declarations if we didn't have a lookup map when the external decls were added. llvm-svn: 174906
* Optimization: bitcast (<1 x ...> insertelement ..., X, ...) to ... ==> ↵Michael Ilseman2013-02-112-6/+23
| | | | | | bitcast X to ... llvm-svn: 174905
* Extend Hexagon hardware loop generation to handle various additional cases:Krzysztof Parzyszek2013-02-1111-382/+2998
| | | | | | | | - variety of compare instructions, - loops with no preheader, - arbitrary lower and upper bounds. llvm-svn: 174904
* Remove trailing whitespaceMichael Ilseman2013-02-111-7/+8
| | | | llvm-svn: 174903
* [tests] Another batch of timeout increases.Daniel Dunbar2013-02-118-12/+12
| | | | llvm-svn: 174902
* Implement HexagonInstrInfo::analyzeCompare.Krzysztof Parzyszek2013-02-112-0/+86
| | | | llvm-svn: 174901
* *fixed disassembly of some i386 system insts with intel syntaxKay Tiong Khoo2013-02-112-4/+17
| | | | | | *added file for test cases for i386 intel syntax llvm-svn: 174900
* objective-C modern translator: Fixes a mistranslationFariborz Jahanian2013-02-112-1/+29
| | | | | | | of @throw statement by finding location of the ';' correctly. // rdar://13186010 llvm-svn: 174898
* Forgot to add the testsuite for the changes I checked in on Friday.Jim Ingham2013-02-113-0/+212
| | | | llvm-svn: 174897
* [NVPTX] Remove NoCapture from address space conversion intrinsics. NoCapture ↵Justin Holewinski2013-02-112-9/+30
| | | | | | is not valid in this case, and was causing incorrect optimizations. llvm-svn: 174896
* [Modules] Cope better with top-level declarations loaded after being ↵Douglas Gregor2013-02-117-3/+60
| | | | | | | | | | | | | | | | | | | | declared in the current translation unit <rdar://problem/13189985>. These two related tweaks to keep the information associated with a given identifier correct when the identifier has been given some top-level information (say, a top-level declaration) and more information is then loaded from a module. The first ensures that an identifier that was "interesting" before being loaded from an AST is considered to be different from its on-disk counterpart. Otherwise, we lose such changes when writing the current translation unit as a module. Second, teach the code that injects AST-loaded names into the identifier chain for name lookup to keep the most recent declaration, so that we don't end up confusing our declaration chains by having a different declaration in there. llvm-svn: 174895
* [isl-codegen]: Fix off by one in getNumberOfIterationsTobias Grosser2013-02-112-2/+33
| | | | | | | | | | | | | | We need to remove one dimension. Any is correct as long as it exists. We have choosen for whatever reason the dimension #dims - 2. This is incorrect if there is just one dimension. For CLooG this case did never happen. For isl however, the case can happen and causes undefined behavior including crashes. We choose now always the last dimension #dims - 1. We could have choosen dimension '0' but the last dimension is what we remove conceptionally in the algorithm, so it seems better to actually program it that way. While at it remove another piece of undefined behavior. llvm-svn: 174894
* BBVectorize: Eliminate one more restricted linear searchHal Finkel2013-02-111-27/+31
| | | | | | | | | | This eliminates one more linear search over a range of std::multimap entries. This gives a 22% speedup on the csa.ll test case from PR15222. No functionality change intended. llvm-svn: 174893
* Add Vim frontend to LLDB.Daniel Malea2013-02-119-0/+1669
| | | | | | | | | | | | | | | | | | | | | - Access any LLDB CLI command in Vim by typing ":L<command>". Tab-completion works too! - See source locations for breakpoints and the current PC with vim "marks" and highlights. - Examine backtraces, locals, disassembly, registers, and breakpoints in dedicated Vim windows. - See when in-scope variables and registers change by watching for (red) highlights. This plugin opens multiple Vim "windows" to display debugger information. To quit all windows at the same time use ":qa". The alternative would be ":q" to close each window separately. This plugin is known to work on Mac OS X (Mountain Lion) with MacVim and the system-provided terminal Vim, and on Linux (Ubuntu 12.04 and 12.10) with GVim and the terminal Vim from the "vim-gnome" package. llvm-svn: 174892
* AArch64: generate dwarfdump test rather than include .o in subversionTim Northover2013-02-113-16/+33
| | | | llvm-svn: 174891
* R600/SI: Use V_ADD_F32 instead of V_MOV_B32 for clamp/neg/abs modifiers.Michel Danzer2013-02-111-15/+9
| | | | | | | | | | | | | The modifiers don't seem to have any effect with V_MOV_B32, supposedly it's meant to just move bits untouched. Fixes 46 piglit tests with radeonsi, though unfortunately 11 of those had just regressed because they started using the clamp modifier. NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 174890
* Formatter: Detect ObjC message expressions after 'in' in loopNico Weber2013-02-114-6/+26
| | | | | | | | | | | | | | | | Before: for (id foo in[self getStuffFor : bla]) { } Now: for (id foo in [self getStuffFor:bla]) { } "in" is treated as loop keyword if the line starts with "for", and as a regular identifier else. To check for "in", its IdentifierInfo is handed through a few layers. llvm-svn: 174889
* [sanitizer] clang-format pass over scanf code.Evgeniy Stepanov2013-02-112-85/+86
| | | | llvm-svn: 174888
* [sanitizer] scanf: don't report stores that did not happen.Evgeniy Stepanov2013-02-113-20/+51
| | | | | | | Respect REAL(scanf) return value and don't report memory stores that could potentially happen, but did not. llvm-svn: 174887
* [asan] added a flag -mllvm asan-short-64bit-mapping-offset=1 (0 by default)Kostya Serebryany2013-02-111-2/+8
| | | | | | | | | | This flag makes asan use a small (<2G) offset for 64-bit asan shadow mapping. On x86_64 this saves us a register, thus achieving ~2/3 of the zero-base-offset's benefits in both performance and code size. Thanks Jakub Jelinek for the idea. llvm-svn: 174886
* AArch64: fix build on some MSVC versionsTim Northover2013-02-111-3/+3
| | | | | | | | | | | | | | | This does two things: It removes a call to abs() which may have "long long" parameter on Windows, which is not necessarily available in C++03. It also corrects the signedness of Amount, which was relying on implementation-defined conversions previously. Code was already tested (albeit in an implemnetation defined way) so no extra tests. llvm-svn: 174885
* Restore the resurrected doc link previously deletedBill Schmidt2013-02-111-0/+2
| | | | llvm-svn: 174884
* [sanitizer] Remove an extra va_copy.Evgeniy Stepanov2013-02-112-8/+5
| | | | llvm-svn: 174883
* [sanitizer] Scanf parser improvements.Evgeniy Stepanov2013-02-112-14/+63
| | | | | | | | | Handle %a in cases when it is unambiguous. Handle %m. Patch by Jakub Jelinek. llvm-svn: 174882
* Remove a dead PowerPC doc linkBill Schmidt2013-02-111-2/+0
| | | | llvm-svn: 174881
* Get rid of manual debug output, now that the test runner supports it.Manuel Klimek2013-02-113-9/+0
| | | | | | You can run tests with -debug instead now. llvm-svn: 174880
* Fix invalid formatting with spaces before trailing comments.Daniel Jasper2013-02-114-9/+14
| | | | | | | | In google style, trailing comments are separated by two spaces. This patch fixes the counting of these spaces and prevents clang-format from creating a line with 81 columns. llvm-svn: 174879
* Fixes handling of empty lines in macros.Manuel Klimek2013-02-113-4/+26
| | | | | | | | | | | | | | Now correctly formats: #define A \ \ b; to #define A b; Added the state whether an unwrapped line is a macro to the debug output. llvm-svn: 174878
* AArch64: Simplify logic in deciding whether bfi is validTim Northover2013-02-111-6/+1
| | | | | | | | Previous code had a confusing comment which was mostly an implementation detail. This condition corresponds to "lsb up to register width" and "width not ridiculous". llvm-svn: 174877
* [msan] Lit tests for MemorySanitizer.Evgeniy Stepanov2013-02-1110-22/+208
| | | | | | | | Build system setup for MSan lit tests (build with freshly-built clang, run, check output) - a nearly exact copy from ASan. First 2 lit tests for MSan. llvm-svn: 174876
* [tsan] added tsan-vs-gvn testKostya Serebryany2013-02-111-0/+40
| | | | llvm-svn: 174875
* AArch64: Add basic relocation processing for llvm-dwarfdump.Tim Northover2013-02-113-0/+46
| | | | | | | This allows llvm-dwarfdump to handle the relocations needed, at least for LLVM-produced code. llvm-svn: 174874
* AArch64: Undo change to how test was runTim Northover2013-02-111-1/+2
| | | | | | This broke on Windows, presumably due to interleaving of output streams. llvm-svn: 174873
OpenPOWER on IntegriCloud