summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* COFF: /include'd symbols must be preserved.Rui Ueyama2015-06-046-16/+47
| | | | | | | | | Not only entry point symbol but also symbols specified by /include option must be preserved, as they will never be dead-stripped. http://reviews.llvm.org/D10220 llvm-svn: 239005
* While applying N4258, I forgot about LWG#2455, which modified the ↵Marshall Clow2015-06-046-51/+5
| | | | | | modifications. Correct those - h/t: Howard llvm-svn: 239004
* [PM/AA] Start refactoring AliasAnalysis to remove the analysis group andChandler Carruth2015-06-0416-210/+284
| | | | | | | | | | | | | | | | | | | | | port it to the new pass manager. All this does is extract the inner "location" class used by AA into its own full fledged type. This seems *much* cleaner as MemoryDependence and soon MemorySSA also use this heavily, and it doesn't make much sense being inside the AA infrastructure. This will also make it much easier to break apart the AA infrastructure into something that stands on its own rather than using the analysis group design. There are a few places where this makes APIs not make sense -- they were taking an AliasAnalysis pointer just to build locations. I'll try to clean those up in follow-up commits. Differential Revision: http://reviews.llvm.org/D10228 llvm-svn: 239003
* [CodeGen][NEON] Emit constants for "immediate" intrinsic arguments.Ahmed Bougacha2015-06-042-11/+62
| | | | | | | | | | | | | | | | | On ARM/AArch64, we currently always use EmitScalarExpr for the immediate builtin arguments, instead of directly emitting the constant. When the overflow sanitizer is enabled, this generates overflow intrinsics instead of constants, breaking assumptions in various places. Instead, use the knowledge of "immediates" to directly emit a constant: - teach the tablegen backend to emit the "immediate" modifiers - use those modifiers in the NEON CodeGen, on ARM and AArch64. Fixes PR23517. Differential Revision: http://reviews.llvm.org/D10045 llvm-svn: 239002
* make reciprocal estimate code generation more flexible by adding ↵Sanjay Patel2015-06-0412-58/+358
| | | | | | | | | | | | | | | | | | | | | | command-line options (3rd try) The first try (r238051) to land this was reverted due to ExecutionEngine build failure; that was hopefully addressed by r238788. The second try (r238842) to land this was reverted due to BUILD_SHARED_LIBS failure; that was hopefully addressed by r238953. This patch adds a TargetRecip class for processing many recip codegen possibilities. The class is intended to handle both command-line options to llc as well as options passed in from a front-end such as clang with the -mrecip option. The x86 backend is updated to use the new functionality. Only -mcpu=btver2 with -ffast-math should see a functional change from this patch. All other x86 CPUs continue to *not* use reciprocal estimates by default with -ffast-math. Differential Revision: http://reviews.llvm.org/D8982 llvm-svn: 239001
* [sanitizer_common] Added VS-style output for source locationsFilipe Cabecinhas2015-06-048-26/+75
| | | | | | | | | | | | | | | | | | | | | Summary: With this patch, we have a flag to toggle displaying source locations in the regular style: file:line:column or Visual Studio style: file(line,column) This way, they get picked up on the Visual Studio output window and one can double-click them to get to that file location. Reviewers: samsonov, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10113 llvm-svn: 239000
* R600: Re-enable sub-reg livenessTom Stellard2015-06-044-38/+5
| | | | | | The bug in the R600 backend that this uncovered has been fixed. llvm-svn: 238999
* Fixed option description. '=' is required.John Thompson2015-06-041-1/+1
| | | | llvm-svn: 238998
* Fixed option comment. '=' is required.John Thompson2015-06-041-5/+6
| | | | llvm-svn: 238997
* Remove MCELFSymbolFlags.h. It is now internal to MCSymbolELF.Rafael Espindola2015-06-046-65/+13
| | | | llvm-svn: 238996
* [asan] Fix undefined MAP_NORESERVE on FreeBSD.Evgeniy Stepanov2015-06-041-0/+7
| | | | llvm-svn: 238995
* Driver: Don't crash when generating crash reports for *-header inputsJustin Bogner2015-06-042-5/+23
| | | | | | | | | | If we crash while handling headers, the crash report mechanism currently tries to make a string out of a null pointer when it tries to make up a file extension. Map *-header input types to reasonable extensions to avoid this. llvm-svn: 238994
* [analyzer]Test commit fixing 80-column violation in comment. NFC.Devin Coughlin2015-06-041-1/+2
| | | | llvm-svn: 238993
* Save getArch() in a local var instead of calling it 20 times, etc.Douglas Katzman2015-06-041-80/+74
| | | | | | Differential Revision: http://reviews.llvm.org/D10224 llvm-svn: 238992
* [Sanitizers] Add *SAN_OPTIONS to possibly_dangerous_env_varsFilipe Cabecinhas2015-06-041-1/+3
| | | | | | | | | | | | | | Summary: This way, if they're set when running ninja check-ubsan (or another sanitizer), they get cleared before we start invoking the programs. Reviewers: samsonov, kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10229 llvm-svn: 238991
* More N4258 changes. This time vector's constructorsMarshall Clow2015-06-045-6/+77
| | | | llvm-svn: 238990
* [ELF/AArch64] Fix build issue on MSVCAdhemerval Zanella2015-06-032-2/+2
| | | | | | This patch fixes a build issue from r238981. llvm-svn: 238986
* Improve test added in r238481.Alexey Samsonov2015-06-031-2/+2
| | | | llvm-svn: 238985
* I make no claims that Mach ports work, but at least we should check the ↵Enrico Granata2015-06-031-2/+2
| | | | | | right thing llvm-svn: 238984
* [Object, MachO] Introduce MachOObjectFile::load_commands() range iterator.Alexey Samsonov2015-06-035-103/+59
| | | | | | | | | | | | | | | | | | Summary: Now users don't have to manually deal with getFirstLoadCommandInfo() / getNextLoadCommandInfo(), calculate the number of load segments, etc. No functionality change. Test Plan: regression test suite Reviewers: rafael, lhames, loladiro Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10144 llvm-svn: 238983
* Remember if a weakref of a symbol has been used.Rafael Espindola2015-06-034-27/+33
| | | | | | | | | This avoids yet another last minute patching of the binding. While at it, also simplify the weakref implementation a bit by not walking past it in the expression evaluation. llvm-svn: 238982
* [ELF/AArch64] Fix TLS initial executable relocationAdhemerval Zanella2015-06-0311-36/+418
| | | | | | | | | | | | | | | | | | This patch fixes the TLS initial executable for AArch64. Current implementation have two issues: 1. does not generate dynamic R_AARCH64_TLS_TPREL64 relocation for the external module symbols, and 2. does not export the TLS initial executable symbol in dynamic symbol table. The fix follows the MIPS strategy to add a arch-specific GOTSection class to keep track of TLS symbols required to be place in dynamic symbol table. It also overrides the buildDynamicSymbolTable for ExecutableWrite class to add the symbols. It also adds some refactoring on AArch64RelocationPass.cpp based on ARM backend. llvm-svn: 238981
* Store whether a symbol is a comdat signature in MCSymbolELF.Rafael Espindola2015-06-034-26/+27
| | | | | | | With this getBinging can now return the correct answer for all cases not involving a .symver and the elf writer doesn't need to patch it last minute. llvm-svn: 238980
* Record in a MCSymbolELF if it has been used in a relocation.Rafael Espindola2015-06-033-10/+19
| | | | | | No functionality change, just saves an on the side map. llvm-svn: 238979
* Simplify the logic in ELFObjectWriter::isInSymtab. NFC.Rafael Espindola2015-06-031-9/+5
| | | | | | | _GLOBAL_OFFSET_TABLE_ is not magical and we can now directly check for a symbol never getting an explicit binding. llvm-svn: 238978
* Skip test failing on FreeBSD buildbot due to pexepect issuesEd Maste2015-06-031-0/+1
| | | | | | | | | The pexpect exception is not handled by expectedFailureFreeBSD, so just skip the test for now. llvm.org/pr22784 llvm-svn: 238977
* XFAIL TestPlatformCommand test failing on the FreeBSD buildbotEd Maste2015-06-031-0/+1
| | | | | | llvm.org/pr23747 llvm-svn: 238976
* Convert BindingExplicitlySet into a MCSymbolELF field.Rafael Espindola2015-06-034-10/+7
| | | | | | I will pack it better in a followup patch. llvm-svn: 238975
* Fix a bug where trying to Dump() a ValueObject would use the ↵Enrico Granata2015-06-036-2/+79
| | | | | | | | | | static/non-synthetic version of the value even if the ValueObject one actually called Dump() on turned out to be dynamic and/or synthetic This was of course overridable by using DumpValueObjectOptions, but the default should be saner and the previous behavior made for a few fun investigations.... rdar://problem/21065149 llvm-svn: 238961
* [ELF/AArch64] Fix correct TCB aligment calculationAdhemerval Zanella2015-06-034-29/+126
| | | | | | | | | | | | | | This patch fixes the TLS local relocations alignment done by @238258. As pointed out, the TLS size should not be considered, but rather the TCB size based on maximum output segment alignment. Although it has not shown in the TLS simple cases for test-suite, more comprehensible tests with more local TLS variable showed wrong relocations values being generated. The local TLS testcase is expanded to add more tls variable (both exported and static) initialized or not. llvm-svn: 238960
* Reapply r238941 - [dsymutil] Accept a YAML debug map as input instead of a ↵Frederic Riss2015-06-036-25/+78
| | | | | | | | | | | | | | | | | | | | | binary. With a couple more constructors that GCC thinks are necessary. Original commit message: [dsymutil] Accept a YAML debug map as input instead of a binary. To do this, the user needs to pass the new -y flag. As it wasn't tested before, the debug map YAML deserialization was completely buggy (mainly because the DebugMapObject has a dual mapping that allows to search by name and by address, but only the StringMap got populated). It's fixed and tested in this commit by augmenting some test with a 2 stage dwarf link: a frist llvm-dsymutil reads the debug map and pipes it in a second instance that does the actual link without touching the initial binary. llvm-svn: 238959
* R600/SI: Fix tests with triples in themMatt Arsenault2015-06-038-31/+10
| | | | | | | | Only set the triple from the command line options. Some of these were still testing SI features and using the old r600-- triple. llvm-svn: 238958
* More of N4258 implementation. Mark all of our test_allocators as noexcept ↵Marshall Clow2015-06-038-29/+113
| | | | | | constructible. Make the constructors for basic_string noexcept all the time (under C++14). Update tests to reflect the new world order. More to come. llvm-svn: 238957
* Change big 'if' statement into a switch. NFCDouglas Katzman2015-06-031-15/+20
| | | | | | Differential Revision: http://reviews.llvm.org/D10223 llvm-svn: 238955
* Suppress uninitialized-variable-is-used warning in kmp_csupport.cJonathan Peyton2015-06-031-2/+2
| | | | | | | | | | | The following change is needed to suppress the "variable 'retval' is used uninitialized whenever 'if' condition is false" warnings in runtime/src/kmp_csupport.c. This change just initializes 'retval' to 0. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000667.html Patch by Jack Howarth llvm-svn: 238954
* add missing dependency on Target lib for toolsSanjay Patel2015-06-035-0/+5
| | | | | | | This was exposed by r238842 (which was reverted by r238900) when doing a CMake build with -DBUILD_SHARED_LIBS=ON. llvm-svn: 238953
* Remove getOrCreateSymbolData. There is no MCSymbolData anymore.Rafael Espindola2015-06-034-6/+3
| | | | llvm-svn: 238952
* RuntimeDyld: override EH frame registration with trivial version.Tim Northover2015-06-031-0/+5
| | | | | | | | | llvm-rtdyld was relying on the default memory manager's EH frame registration, which is host-dependent rather than target-dependent. As a result, big-endian ELF Mips EH frames were being registered on OS X (and elsewhere). This is a really bad idea. llvm-svn: 238951
* Remove conditional parameters from KA_TRACE macro.Jonathan Peyton2015-06-031-3/+6
| | | | | | | | | It's undefined behavior to have arguments to macros be conditionally preprocessed. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000669.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 238950
* [Hexagon] Test doesn't work on all platforms. At any rate the uninitialized ↵Colin LeMahieu2015-06-032-11/+0
| | | | | | variable issue was fixed. Removing re-registering ASM backend. llvm-svn: 238949
* [Hexagon] Reapply 238773 after fix to LLVM.Colin LeMahieu2015-06-031-1/+0
| | | | llvm-svn: 238948
* [Hexagon] Reapply 238772 OSABI was not correctly set, added empty_elf test ↵Colin LeMahieu2015-06-036-28/+456
| | | | | | to make sure it is. llvm-svn: 238947
* Reorder C++ initialization lists to appease compiler.Jonathan Peyton2015-06-031-3/+4
| | | | | | | | | | | in kmp_wait_release.h, there were some constructors where the initialization lists were out of order with the member declarations inside the class. This patch just reorders the initialization list so the compiler doesn't complain. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000670.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 238946
* fallback_malloc: silence conversion warning (NFC)Saleem Abdulrasool2015-06-031-4/+4
| | | | | | | | This silences some conversion warnings from GCC 4.9.2. Simply casting the RHS doesn't seem to be sufficient to silence the warning. Convert the operation equal operator usage to calculation and assignment. llvm-svn: 238945
* fallback_malloc: silence qual-cast warning (NFC)Saleem Abdulrasool2015-06-031-1/+1
| | | | | | | This silences a GCC 4.9.2 qual-cast warning in the fallback_malloc codepath. NFC. llvm-svn: 238944
* Revert "[dsymutil] Accept a YAML debug map as input instead of a binary."Frederic Riss2015-06-036-66/+25
| | | | | | This reverts commit r238941 while I figure out the bot issues. llvm-svn: 238943
* clang-format: [JS] Let fat arrows have 'Equality' precedence.Daniel Jasper2015-06-032-13/+21
| | | | | | | | | | | | | | | | | | | | | | | This fixes a regression in literal formatting: Before: aaaaaaaaaaaaa = { aaaaaaaaaaaaaaaaaaaaaaaaaaaa: (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) => aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, }; After: var aaaaaaaaaaaaaaaaaaaa = { aaaaaaaaaaaaaaaaaaaaaaaaaaaa: (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) => aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, }; Also apply no-else-after-return policy. llvm-svn: 238942
* [dsymutil] Accept a YAML debug map as input instead of a binary.Frederic Riss2015-06-036-25/+66
| | | | | | | | | | | | | To do this, the user needs to pass the new -y flag. As it wasn't tested before, the debug map YAML deserialization was completely buggy (mainly because the DebugMapObject has a dual mapping that allows to search by name and by address, but only the StringMap got populated). It's fixed and tested in this commit by augmenting some test with a 2 stage dwarf link: a frist llvm-dsymutil reads the debug map and pipes it in a second instance that does the actual link without touching the initial binary. llvm-svn: 238941
* [dsymutil] Replace -parse-only option with -dump-debug-mapFrederic Riss2015-06-032-11/+12
| | | | | | | | | | As the serialized debug map is becoming a first class citizen, a way to cleanly dump it is required. We used -parse-only combined with -v for that purpose before, but it dumps a lot of unrelated debug stuff. Dumping the debug map was the only use of the -parse-only flag anyway, so replace it with a more useful option. llvm-svn: 238940
* [dsymutil] Reflow option declarations to be more readable.Frederic Riss2015-06-031-12/+13
| | | | llvm-svn: 238939
OpenPOWER on IntegriCloud