summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [mips] [IAS] Add support for the .set oddspreg/nooddspreg directives.Toma Tabacu2015-06-305-0/+72
| | | | | | Differential Revision: http://reviews.llvm.org/D10657 llvm-svn: 241052
* Ignore "push/pop {sp}" in emulation based unwindingTamas Berghammer2015-06-303-5/+23
| | | | | | | | | | | These instructions confusing the unwind code because in case of a push it assumes that the original valu of a register is pushed to the stack what is not neccessarily true in case of SP. The same is true for the pop (in the opposite way). Differential revision: http://reviews.llvm.org/D10806 llvm-svn: 241051
* Fix LLDB build after r241035Tamas Berghammer2015-06-301-0/+2
| | | | llvm-svn: 241050
* [X86] Add FXSR intrinsicsMichael Kuperstein2015-06-304-8/+71
| | | | | | Add intrinsics for the FXSR instructions (FXSAVE/FXSAVE64/FXRSTOR/FXRSTOR64) llvm-svn: 241049
* Update isl to isl-0.15-30-g3518765Tobias Grosser2015-06-3051-144/+902
| | | | | | | | This updated contains various changes to isl, including improvements to the AST generator. For Polly, the most important change is a fix that unbreaks builds on darwin (reported by: Jack Howard) llvm-svn: 241048
* Fix a couple of tests in clang/test to match "x86_thiscallcc" introduced in ↵NAKAMURA Takumi2015-06-302-3/+3
| | | | | | r240971. llvm-svn: 241047
* Unbreak the Visual C++ 2013 build after r241032.Yaron Keren2015-06-301-1/+1
| | | | | | clang\lib\Parse\ParseDeclCXX.cpp(2396): error C3486: a parameter for a lambda cannot have a default argument llvm-svn: 241046
* [LLDB][MIPS] Getting correct flags for MIPSMohit K. Bhakkad2015-06-305-6/+16
| | | | | | | | | | Patch by Nitesh Jain Reviewers: clayborg, ovyalov, emaste. Subscribers: jaydeep, bhushan, dsanders, mohit.bhakkad, sagar, labath, tberghammer, lldb-commits. Differential Revision: http://reviews.llvm.org/D10685 llvm-svn: 241045
* ELF.h: Prune obsolete comments removed in r240996. [-Wdocumentation]NAKAMURA Takumi2015-06-301-6/+0
| | | | | FIXME: Should they be moved onto Elf_Sym_Impl::getNmae()? llvm-svn: 241044
* [CodeGen] Tweak isTriviallyRecursive furtherDavid Majnemer2015-06-302-6/+8
| | | | | | | | | | | | | | | | isTriviallyRecursive is a hack used to bridge a gap between the expectations that source code assumes and the semantics that LLVM IR can provide. Specifically, asm labels on functions are treated as an explicit name for a GlobalObject in Clang but treated like an output-processing step in GCC. Tweak this hack a little further to emit calls to library functions instead of emitting an incorrect definition. The definition in question would have available_externally linkage (this is OK) but result in a call to itself which will either result in an infinite loop or stack overflow. This fixes PR23964. llvm-svn: 241043
* Don't return error_code from a function that doesn't fail.Rafael Espindola2015-06-3011-47/+23
| | | | llvm-svn: 241042
* Drop the OS from the WebAssembly target triple for now.Dan Gohman2015-06-303-8/+5
| | | | | | | This unbreaks TripleTest.Normalization. We'll have to come up with a new plan for the OS component of the target triple for WebAssembly. llvm-svn: 241041
* Move function to the only file that uses it.Rafael Espindola2015-06-304-37/+35
| | | | llvm-svn: 241040
* Don't return error_code from a function that doesn't fail.Rafael Espindola2015-06-304-22/+12
| | | | llvm-svn: 241039
* [MS ABI] Workaround corner-case bug in the ABI for operator deleteDavid Majnemer2015-06-302-1/+12
| | | | | | | | | | | | | | | MSVC only genreates array cookies if the class has a destructor. This is problematic when having to call T::operator delete[](void *, size_t) because the second argument's argument is impossible to synthesize correctly if the class has no destructor (because there will be no array cookie). Instead, MSVC passes the size of the class. Do the same, for compatibility, instead of crashing. This fixes PR23990. llvm-svn: 241038
* Sphinx-based clang man pagesAndrew Wilkins2015-06-309-992/+540
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This diff introduces .rst files, Sphinx config, and a CMake target for building clang man pages. This will deprecate the existing .pod- based man page, and will integrate nicely with CMake. This diff does not remove the existing man page; that will be done in a follow-up once packagers have had a chance to react to the change. For now, only clang(1) has been done; others can be added over time by dropping additional files into the docs/CommandGuide directory. The index page for CommandGuide has been copied from LLVM's docs/CommandGuide. The man page itself is mostly the same, with a few minor cosmetic changes. The only major change is the SYNOPSIS section. I was unable to get .rst/Sphinx produce the same style as in the existing man page. Instead, I changed it to match the LLVM tools' relatively simple style. To build the man pages, use the "docs-clang-man" target if building with CMake. Otherwise, use "make -f Makefile.sphinx man". Reviewers: cmatthews, silvas Subscribers: dim, gaeke, beanz, cfe-commits Differential Revision: http://reviews.llvm.org/D10562 llvm-svn: 241037
* Add two missing arguments.Adrian Prantl2015-06-301-0/+2
| | | | | | I forgot to add this file to r241035. llvm-svn: 241036
* Pass HeaderSearchOptions and PreprocessorOptions into CodeGenModule.Adrian Prantl2015-06-307-25/+65
| | | | | | | In order to produce debug info for clang modules CGDebugInfo it needs access to macros passed on the command line and the isysroot. llvm-svn: 241035
* Debug info: Add dwarf backend support for DIModule.Adrian Prantl2015-06-306-0/+60
| | | | | | rdar://problem/20965932 llvm-svn: 241034
* Don't return error_code from a function that doesn't fail.Rafael Espindola2015-06-3013-49/+26
| | | | llvm-svn: 241033
* Rework parsing of pure-specifiers. Perform the grammar matching andRichard Smith2015-06-308-72/+90
| | | | | | disambiguation in the parser rather than trying to do it in Sema. llvm-svn: 241032
* Add layout/triple to fix test on platforms where names are mangled.Peter Collingbourne2015-06-301-0/+3
| | | | llvm-svn: 241031
* Fix LastArchType to point to the new last arch.Dan Gohman2015-06-301-1/+1
| | | | llvm-svn: 241030
* COFF: Implement SymbolBody::getDebugName() for DefinedBitcode symbols.Peter Collingbourne2015-06-305-4/+21
| | | | | | Differential Revision: http://reviews.llvm.org/D10827 llvm-svn: 241029
* Cleanup getRelocationAddend.Rafael Espindola2015-06-304-23/+42
| | | | | | | | | | | Realistically, this will be returning ErrorOr for some time as refactoring the user code to check once per section will take some time. Given that, use it for checking if a relocation has addend or not. While at it, add ELFRelocationRef to simplify the users. llvm-svn: 241028
* RegisterCoalescer: Cleanup empty subranges after shrinkToUses()Matthias Braun2015-06-302-0/+21
| | | | | | | | A call to removeEmptySubranges() is necessary after every operation that potentially removes all segments from a subregister range; this case in the register coalescer was missing. llvm-svn: 241027
* llvm-bcanalyzer: Add a field that was missed in r241016.Adrian Prantl2015-06-301-0/+1
| | | | llvm-svn: 241026
* COFF: Make DefinedCOFF one pointer smaller.Rui Ueyama2015-06-301-8/+9
| | | | | | | | | | The size of this class actually matters because this is the most popular class among all classes. We create a Defined symbol for each defined symbol in a symbol table. That can be millions for a large program. For example, linking LLD instantiates this class millions times. llvm-svn: 241025
* Object/COFF: Define coff_symbol_generic.Rui Ueyama2015-06-302-6/+27
| | | | | | | | | | | | | | If you only need Name and Value fields in the COFF symbol, you don't need to distinguish 32 bit and 64 bit COFF symbols. These fields start at the same offsets and have the same size. This data strucutre is one pointer smaller than COFFSymbolRef thus slightly efficient. I'll use this class in LLD as we create millions of LLD symbol objects that currently contain COFFSymbolRef. Shaving off 8 byte (or 4 byte on 32 bit) from that class actually matters becasue of the number of objects we create in LLD. llvm-svn: 241024
* Use asserts for checks that should never fail.Rafael Espindola2015-06-291-37/+11
| | | | | | | If a section is not SHT_REL or SHT_RELA, we never create a valid iterator, so the getRelocation* methods should always see a section with the correct type. llvm-svn: 241023
* [WebAssembly] Initial WebAssembly backendDan Gohman2015-06-2956-4/+1913
| | | | | | | This WebAssembly backend is just a skeleton at this time and is not yet functional. llvm-svn: 241022
* Don't return error_code from function that never fails.Rafael Espindola2015-06-2923-106/+49
| | | | llvm-svn: 241021
* COFF: Use LTOModule::getLinkerOpts() instead of reading the linker ↵Peter Collingbourne2015-06-291-24/+1
| | | | | | directives ourselves. llvm-svn: 241020
* PR23942: a pure-specifier's integer literal must be spelled '0'Richard Smith2015-06-292-3/+28
| | | | llvm-svn: 241019
* lto: Clean up C libLTO interfaces pertaining to linker flags.Peter Collingbourne2015-06-293-58/+7
| | | | | | | | | Specifically, remove the dependent library interface and replace the existing linker option interface with a new one that returns a single list of flags. Differential Revision: http://reviews.llvm.org/D10820 llvm-svn: 241018
* Add a DIModule metadata node to the IR.Adrian Prantl2015-06-2916-0/+261
| | | | | | | | | | | | | | | | | | | It is meant to be used to record modules @imported by the current compile unit, so a debugger an import the same modules to replicate this environment before dropping into the expression evaluator. DIModule is a sibling to DINamespace and behaves quite similarly. In addition to the name of the module it also records the module configuration details that are necessary to uniquely identify the module. This includes the configuration macros (e.g., -DNDEBUG), the include path where the module.map file is to be found, and the isysroot. The idea is that the backend will turn this into a DW_TAG_module. http://reviews.llvm.org/D9614 rdar://problem/20965932 llvm-svn: 241017
* bcanalyzer: Rewrite all the METADATA_ codesDuncan P. N. Exon Smith2015-06-291-9/+31
| | | | | | | | Add all the new `Metadata` codes since LLVM 3.6, and at the same time follow the precedent set in other blocks by removing the `METADATA_` prefix from the string output. llvm-svn: 241016
* bcanalyzer: Use a macro to decode bitcodes, NFCDuncan P. N. Exon Smith2015-06-291-86/+85
| | | | | | | I'm about to add a whack of missing names for metadata. Add a macro to make this easier. llvm-svn: 241015
* Revert "Mark test_sb_api_listener_event_process_state as flakey"Ying Chen2015-06-291-1/+0
| | | | | | | This reverts commit a4f5f4da7e164b7ac358a75f2e4254c25718ad4b. This test fails 100% with gcc4.9.2, revert it first. Will find out why xfail is overruled by xflaky. llvm-svn: 241014
* Mark LWG#2439 as complete. This is a tightening up the wording; no code ↵Marshall Clow2015-06-291-1/+1
| | | | | | changes required. llvm-svn: 241013
* Reapply "Use gethostuuid() on Mac to identify hosts for LockFileManager"Ben Langmuir2015-06-291-14/+56
| | | | | | | | | | | | | | Reapplies r241005 after fixing the build on non-Mac platforms. Original commit message below. The hostname can be very unstable when there are many machines on the network competing for the same name. Using the hardware UUID makes it less likely to have collisions or to consider files written by the current host to be owned by a different one at a later time. rdar://problem/21512307 llvm-svn: 241012
* COFF: Split ObjectFile::createSymbolBody into small functions. NFC.Rui Ueyama2015-06-292-15/+28
| | | | llvm-svn: 241011
* Teach LTOModule to emit linker flags for dllexported symbols, plus interface ↵Peter Collingbourne2015-06-2911-194/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cleanup. This change unifies how LTOModule and the backend obtain linker flags for globals: via a new TargetLoweringObjectFile member function named emitLinkerFlagsForGlobal. A new function LTOModule::getLinkerOpts() returns the list of linker flags as a single concatenated string. This change affects the C libLTO API: the function lto_module_get_*deplibs now exposes an empty list, and lto_module_get_*linkeropts exposes a single element which combines the contents of all observed flags. libLTO should never have tried to parse the linker flags; it is the linker's job to do so. Because linkers will need to be able to parse flags in regular object files, it makes little sense for libLTO to have a redundant mechanism for doing so. The new API is compatible with the old one. It is valid for a user to specify multiple linker flags in a single pragma directive like this: #pragma comment(linker, "/defaultlib:foo /defaultlib:bar") The previous implementation would not have exposed either flag via lto_module_get_*deplibs (as the test in TargetLoweringObjectFileCOFF::getDepLibFromLinkerOpt was case sensitive) and would have exposed "/defaultlib:foo /defaultlib:bar" as a single flag via lto_module_get_*linkeropts. This may have been a bug in the implementation, but it does give us a chance to fix the interface. Differential Revision: http://reviews.llvm.org/D10548 llvm-svn: 241010
* [FaultMaps][Docs] Document the ImplicitNullChecks pass.Sanjoy Das2015-06-291-0/+42
| | | | llvm-svn: 241009
* Move llvm_unreachable out of switch to avoid -Wswitch-covered-defualt.Rui Ueyama2015-06-291-6/+3
| | | | llvm-svn: 241008
* Revert "Use gethostuuid() on Mac to identify hosts for LockFileManager"Ben Langmuir2015-06-291-54/+14
| | | | | | | | Broke non-Mac builds. This reverts commit r241005. llvm-svn: 241007
* Add -lpthread to LLDB shared lib link line unconditionallyKeno Fischer2015-06-293-5/+5
| | | | | | | | | | | Usually -lpthread is included due to LLVM link options, but when LLVM threading is disabled, this does not happen. pthread is still needed however because LLDB uses threading regardless of whether LLVM is built with threading support or not. Differential Revision: http://reviews.llvm.org/D5431 llvm-svn: 241006
* Use gethostuuid() on Mac to identify hosts for LockFileManagerBen Langmuir2015-06-291-14/+54
| | | | | | | | | | | The hostname can be very unstable when there are many machines on the network competing for the same name. Using the hardware UUID makes it less likely to have collisions or to consider files written by the current host to be owned by a different one at a later time. rdar://problem/21512307 llvm-svn: 241005
* Silence MSVC "not all control paths return a value" warning.Rui Ueyama2015-06-291-0/+6
| | | | llvm-svn: 241004
* ARM: add correct kill flags when combining stm instructionsTim Northover2015-06-292-0/+49
| | | | | | | | | When the store sequence being combined actually stores the base register, we should not mark it as killed until the end. rdar://21504262 llvm-svn: 241003
OpenPOWER on IntegriCloud