summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Commit back the correct bits of r222760 (was r222538).Rafael Espindola2014-11-272-0/+33
| | | | | | | | | | | | | | | | | I also added a test. Original message: Allow FDE references outside the +/-2GB range supported by PC relative offsets for code models other than small/medium. For JIT application, memory layout is less controlled and can result in truncations otherwise. Patch from Akos Kiss. Differential Revision: http://reviews.llvm.org/D6079 llvm-svn: 222897
* Revert "Reapply 222538 and update tests to explicitly request small code ↵Rafael Espindola2014-11-2721-71/+20
| | | | | | | | | | | | | | | | model and PIC:" This reverts commit r222760. It changed our behaviour on PIC so we don't match gas anymore. It also included lots of unnecessary changes to tests. If those changes are desirable, there should be an independent discussion as they are out of scope for that patch. I will recommit the other bits. llvm-svn: 222896
* Revert "Fix overly aggressive type merging."Duncan P. N. Exon Smith2014-11-273-41/+8
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit r222727, which causes LTO bootstrap failures. Last passing @ r222698: http://lab.llvm.org:8080/green/job/clang-Rlto_master_build/532/ First failing @ r222843: http://lab.llvm.org:8080/green/job/clang-Rlto_master_build/533/ Internal bootstraps pointed at a much narrower range: r222725 is passing, and r222731 is failing. LTO crashes while handling libclang.dylib: http://lab.llvm.org:8080/green/job/clang-Rlto_master_build/533/consoleFull#-158682280549ba4694-19c4-4d7e-bec5-911270d8a58c GEP is not of right type for indices! %InfoObj.i.i = getelementptr inbounds %"class.llvm::OnDiskIterableChainedHashTable"* %.lcssa, i64 0, i32 0, i32 4, !dbg !123627 %"class.clang::serialization::reader::ASTIdentifierLookupTrait" = type { %"class.clang::ASTReader.31859"*, %"class.clang::serialization::ModuleFile.31870"*, %"class.clang::IdentifierInfo"* }LLVM ERROR: Broken function found, compilation aborted! clang: error: linker command failed with exit code 1 (use -v to see invocation) Looks like the new algorithm doesn't merge types aggressively enough. llvm-svn: 222895
* Sphinx does not have a lexer for OpenCL, so falling back to C for the ↵Aaron Ballman2014-11-271-8/+8
| | | | | | language on the code block. Also fixing an indentation warning. NFC to the content of the documentation itself. llvm-svn: 222894
* clang-format: [JS] Contract fewer functions to a single line.Daniel Jasper2014-11-272-2/+8
| | | | | | | | | | | | | Before: var someVariable = function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); }; After: var someVariable = function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); }; llvm-svn: 222893
* clang-format: [JS] Try not to break in container literals.Daniel Jasper2014-11-272-0/+7
| | | | | | | | | | | | | | | | | Before: var obj = { fooooooooo: function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); } }; After: var obj = { fooooooooo: function(x) { return x.zIsTooLongForOneLineWithTheDeclarationLine(); } }; llvm-svn: 222892
* reinstate r222872: Peephole optimization in switch table lookup: reuse the ↵Erik Eckstein2014-11-272-7/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | guarding table comparison if possible. Fixed missing dominance check. Original commit message: This optimization tries to reuse the generated compare instruction, if there is a comparison against the default value after the switch. Example: if (idx < tablesize) r = table[idx]; // table does not contain default_value else r = default_value; if (r != default_value) ... Is optimized to: cond = idx < tablesize; if (cond) r = table[idx]; else r = default_value; if (cond) ... Jump threading will then eliminate the second if(cond). llvm-svn: 222891
* clang-format: [JS] new and delete are valid function names.Daniel Jasper2014-11-272-3/+4
| | | | | | | | | | | | Before: someObject.new (); someObject.delete (); After: someObject.new(); someObject.delete(); llvm-svn: 222890
* [msan] Remove indirect call wrapping code.Evgeniy Stepanov2014-11-273-170/+1
| | | | | | This functionality was only used in MSanDR, which is deprecated. llvm-svn: 222889
* clang-format: [JS] Make Closure module detection more narrow.Daniel Jasper2014-11-272-1/+7
| | | | | | | | | | | Before: var MyLongClassName = goog.module.get('my.long.module.name.followedBy.MyLongClassName'); After: var MyLongClassName = goog.module.get('my.long.module.name.followedBy.MyLongClassName'); llvm-svn: 222888
* [mips][microMIPS] Implement disassembler support for 16-bit instructions ↵Jozef Kolek2014-11-274-3/+105
| | | | | | | | LI16, ADDIUR1SP, ADDIUR2 and ADDIUS5 Differential Revision: http://reviews.llvm.org/D6419 llvm-svn: 222887
* clang-format: Don't use column layout with AlignAfterOpenBrackets.Daniel Jasper2014-11-272-0/+11
| | | | | | This fixes llvm.org/PR21676. llvm-svn: 222886
* [Msan] Fix some interceptors to pass initialization on FreeBSDViktor Kutuzov2014-11-271-0/+6
| | | | | | Differential Revision: http://reviews.llvm.org/D6417 llvm-svn: 222885
* A little more work on the compact unwind dumper.Jason Molenda2014-11-271-25/+55
| | | | | | | | | | | | | UNWIND_X86_64_MODE_STACK_IND mode is almost correct; extra stack space allocated before the reg saves isn't handled right. Still a little wobbily on the file addresses of functions. Finally understand how the 6 registers that may be saved are ordered in just 10 its of space -- the Lehmer code for the registers is derived and then the sequence is encoded in a variable base number. Added some comments with references to what the code is doing so it'll be easier for others to track down. llvm-svn: 222884
* Stop uppercasing build attribute data.Charlie Turner2014-11-278-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | The string data for string-valued build attributes were being unconditionally uppercased. There is no mention in the ARM ABI addenda about case conventions, so it's technically implementation defined as to whether the data are capitialised in some way or not. However, there are good reasons not to captialise the data. * It's less work. * Some vendors may legitimately have case-sensitive checks for these attributes which would fail on LLVM generated object files. * There could be locale issues with uppercasing. The original reasons for uppercasing appear to have stemmed from an old codesourcery toolchain behaviour, see http://comments.gmane.org/gmane.comp.compilers.llvm.cvs/87133 This patch makes the object file emitted no longer captialise string data, it encodes as seen in the assembly source. Change-Id: Ibe20dd6e60d2773d57ff72a78470839033aa5538 llvm-svn: 222882
* Use FileCheck instead of grep. Change by Ankur Garg.Suyog Sarda2014-11-272-5/+14
| | | | | | Differential Revision: http://reviews.llvm.org/D6430 llvm-svn: 222879
* [clang-tidy] Support initializer_list in google-explicit-constructor checkAlexander Kornienko2014-11-278-30/+117
| | | | | | | | | | | | | | | | | | | Summary: According to the Google C++ Style Guide, constructors taking a single std::initializer_list<> should not be marked explicit. This change also changes the messages according to conventions used in Clang diagnostics: no capitalization of the first letter, no trailing dot. Reviewers: djasper Reviewed By: djasper Subscribers: curdeius, cfe-commits Differential Revision: http://reviews.llvm.org/D6427 llvm-svn: 222878
* Revert "Peephole optimization in switch table lookup: reuse the guarding ↵Erik Eckstein2014-11-272-183/+7
| | | | | | | | table comparison if possible." It is breaking the clang bootstrag. llvm-svn: 222877
* Use FileCheck instead of grep. Change by Sonam.Suyog Sarda2014-11-272-4/+7
| | | | | | Differential Revision: http://reviews.llvm.org/D6432 llvm-svn: 222876
* autoconf: Move libraries later to ensure that all symbols are foundTobias Grosser2014-11-271-2/+2
| | | | | | This fixes llvm.org/PR19540 llvm-svn: 222874
* Add test for MI tokens.Hafiz Abid Qadeer2014-11-271-0/+85
| | | | | | | | | This file tests the sequence of digits that can come before an MI command. Patch from dawn@burble.org. llvm-svn: 222873
* Peephole optimization in switch table lookup: reuse the guarding table ↵Erik Eckstein2014-11-272-7/+183
| | | | | | | | | | | | | | | | | | | | | | | | | comparison if possible. This optimization tries to reuse the generated compare instruction, if there is a comparison against the default value after the switch. Example: if (idx < tablesize) r = table[idx]; // table does not contain default_value else r = default_value; if (r != default_value) ... Is optimized to: cond = idx < tablesize; if (cond) r = table[idx]; else r = default_value; if (cond) ... \endcode Jump threading will then eliminate the second if(cond). llvm-svn: 222872
* InstCombine: Restore optimizations lost in r210006David Majnemer2014-11-272-0/+81
| | | | | | | | This restores our ability to optimize: (X & C) == 0 ? X ^ C : X into X | C (X & C) != 0 ? X ^ C : X into X & ~C llvm-svn: 222871
* Add LLVMObject to LLVMExecutionEngine.NAKAMURA Takumi2014-11-271-1/+1
| | | | llvm-svn: 222869
* InstSimplify: Restore optimizations lost in r210006David Majnemer2014-11-273-10/+119
| | | | | | | | | | This restores our ability to optimize: (X & C) ? X & ~C : X into X & ~C (X & C) ? X : X & ~C into X (X & C) ? X | C : X into X (X & C) ? X : X | C into X | C llvm-svn: 222868
* [MCJIT] Remove the local symbol table from RuntimeDlyd - it's not needed.Lang Hames2014-11-2710-77/+59
| | | | | | | | All symbols have to be stored in the global symbol to enable cross-rtdyld-instance linking, so the local symbol table content is redundant. llvm-svn: 222867
* [MCJIT] Update CMakeLists.txt for llvm-rtdyld to add Object as a requirement.Lang Hames2014-11-271-0/+1
| | | | | | | Hopefully this will fix http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/8271/steps/stage1_build/logs/stdio llvm-svn: 222866
* [c++1z] Remove terse range-based for loops; they've been removed fromRichard Smith2014-11-274-24/+24
| | | | | | consideration for C++17 for now. Update C++ status page to match. llvm-svn: 222865
* [MCJIT] Replace JITEventListener::anchor (temporarily removed in r222861), andLang Hames2014-11-275-1/+5
| | | | | | move GDBRegistrationListener into ExecutionEngine to avoid layering violation. llvm-svn: 222864
* When checking for uninitialized values, do not confuse "std::move" with everyRichard Trieu2014-11-274-3/+50
| | | | | | other function named "move". llvm-svn: 222863
* Refactor SocketAddress::getaddrinfo - avoid calling IsValid if ::getaddrinfo ↵Oleksiy Vyalov2014-11-271-3/+7
| | | | | | | | has failed. Otherwise, IsValid crashes on assertation in GetFamilyLength. llvm-svn: 222862
* [MCJIT] Remove JITEventListener's anchor until I can determine the right placeLang Hames2014-11-272-5/+0
| | | | | | to put it. This should unbreak the Mips bots. llvm-svn: 222861
* Teach LLVM about llgo subproject.Peter Collingbourne2014-11-273-3/+58
| | | | llvm-svn: 222860
* [MCJIT] Move get-any-symbol-load-address logic out of RuntimeDyld and intoLang Hames2014-11-272-9/+3
| | | | | | | | | RuntimeDyldChecker. RuntimeDyld instances should only provide lookup for locally defined symbols. llvm-svn: 222859
* Initial commit of llgo third_party.Peter Collingbourne2014-11-272568-0/+675343
| | | | llvm-svn: 222858
* Initial commit of llgo.Peter Collingbourne2014-11-27148-0/+15789
| | | | llvm-svn: 222857
* Revert "Added inst combine transforms for single bit tests from Chris's note"David Majnemer2014-11-262-133/+11
| | | | | | | | | | | This reverts commit r210006, it miscompiled libapr which is used in who knows how many projects. A test has been added to ensure that we don't regress again. I'll work on a rewrite of what the optimization was trying to do later. llvm-svn: 222856
* Add a small "usage:" comment at the top of not.cppSean Silva2014-11-261-0/+5
| | | | | | Mostly pulled from Rafael's r185678 commit message. llvm-svn: 222855
* Create directories for llgo subproject.Peter Collingbourne2014-11-260-0/+0
| | | | llvm-svn: 222854
* OpenCL: fix test for lack of names in release buildsTim Northover2014-11-261-2/+2
| | | | llvm-svn: 222853
* Object/COFF: Fix off-by-one error for object having lots of relocationsRui Ueyama2014-11-262-2/+5
| | | | | | | | | llvm-objdump printed out an error message for this off-by-one error, but because it always exits with 0 whether or not it found an error, the test (llvm-objdump/coff-many-relocs.test) succeeded. I made llvm-objdump exit with EXIT_FAILURE when an error is found. llvm-svn: 222852
* [analyzer] Indented code within the DisplayHelp sub.Anton Yartsev2014-11-261-84/+84
| | | | llvm-svn: 222851
* R600/SI: Use ZeroOrNegativeOneBooleanContentMatt Arsenault2014-11-262-2/+3
| | | | | | | | | | | | | | This sort of doesn't matter since the setcc type is i1, but this previously was using the default UndefinedBooleanContent. This makes it more consistent with R600. This enables more optimizations which typically give up on UndefinedBooleanContent. For example, there is already a special case target DAG combine for setcc + sext which can be eliminated in favor of what the generic DAG combiner can do if it assumes boolean values are sign extended. Since -1 is an inline immediate, using it is basically free and the backend already uses it when a boolean value is needed in a wider type. llvm-svn: 222850
* [Hexagon] Adding cmp* immediate form instructions.Colin LeMahieu2014-11-267-62/+98
| | | | llvm-svn: 222849
* Fix buildbot failure on LLP64 platforms like MSVC x86_64.Richard Smith2014-11-261-1/+1
| | | | llvm-svn: 222848
* [mips][microMIPS] Implement disassembler support for 16-bit instructions ↵Jozef Kolek2014-11-266-4/+118
| | | | | | | | LBU16, LHU16, LW16, SB16, SH16 and SW16 Differential Revision: http://reviews.llvm.org/D6405 llvm-svn: 222847
* [Hexagon] Adding and64, or64, and xor64 instructions.Colin LeMahieu2014-11-264-0/+43
| | | | llvm-svn: 222846
* Fix several test failures on Linux/FreeBSD caused by compiler configuration ↵Oleksiy Vyalov2014-11-263-17/+21
| | | | | | | | and invalid environment. http://reviews.llvm.org/D6392 llvm-svn: 222845
* R600/SI: Create e64 versions of and/or/xor in SILowerI1CopiesMatt Arsenault2014-11-261-3/+3
| | | | | | | | | This fixes moving boolean constants into registers before operating on them. They get permuted and shrunk down to e32 anyway later. This is a temporary fix until the patch that removes these pseudos is committed. llvm-svn: 222844
* clang-format: [Java] Don't line-wrap package declarations.Daniel Jasper2014-11-263-2/+11
| | | | | | This fixes llvm.org/PR21677. llvm-svn: 222843
OpenPOWER on IntegriCloud