summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Revert create_symbolic_link and both depending changesReid Kleckner2014-03-064-72/+24
| | | | | | | | | | This reverts commits r203136, r203137, and r203138. This code doesn't build on Windows. Even on Vista+, Windows requires elevated privileges to create a symlink. Therefore we can't use symlinks in the compiler. We'll have to find another approach. llvm-svn: 203143
* Move DIEEntry handling inside the main switch statement.Eric Christopher2014-03-061-10/+6
| | | | | | No functional change. llvm-svn: 203142
* [Support/LockFileManager] Make the LockFileManager more robust against races.Argyrios Kyrtzidis2014-03-061-17/+34
| | | | | | | | | | | There was a race where: - The LockFileManager tries to own the lock file and fails. - The other owner then releases and removes the lock file. - The LockFileManager tries to read the owner info from the lock file but fails now. In such a case have LockFileManager try to get ownership again, instead of error'ing out. llvm-svn: 203138
* [Support/LockFileManager] Use symbolic link for the lock file.Argyrios Kyrtzidis2014-03-061-13/+4
| | | | | | | | Hard links do not work on SMB network directories, and it causes us to fail to build clang module files if the module cache is in such a directory. rdar://15944959 llvm-svn: 203137
* [Support/FileSystem] Introduce llvm::sys::fs::create_symbolic_link().Argyrios Kyrtzidis2014-03-063-0/+40
| | | | llvm-svn: 203136
* R600: Fix extloads from i8 / i16 to i64.Matt Arsenault2014-03-065-7/+106
| | | | | | | This appears to only be working for global loads. Private and local break for other reasons. llvm-svn: 203135
* R600/SI: Expand selects on vectors.Matt Arsenault2014-03-062-0/+157
| | | | llvm-svn: 203134
* Fix missing C++ mode commentMatt Arsenault2014-03-061-1/+1
| | | | llvm-svn: 203133
* Teach lint about address spacesMatt Arsenault2014-03-064-8/+56
| | | | llvm-svn: 203132
* [XCore] Add support for the "m" inline asm constraint.Richard Osborne2014-03-063-1/+64
| | | | | | | | | | | | | | Summary: This provides support for CP and DP relative global accesses in inline asm. Reviewers: robertlytton Reviewed By: robertlytton Differential Revision: http://llvm-reviews.chandlerc.com/D2943 llvm-svn: 203129
* Micro optimization: this code only needs to look at eh labels.Rafael Espindola2014-03-061-1/+1
| | | | llvm-svn: 203127
* [AArch64] This is a work in progress to provide a machine descriptionChad Rosier2014-03-066-185/+629
| | | | | | | | | | | | | | | | | | | for the Cortex-A53 subtarget in the AArch64 backend. This patch lays the ground work to annotate each AArch64 instruction (no NEON yet) with a list of SchedReadWrite types. The patch also provides the Cortex-A53 processor resources, maps those the the default SchedReadWrites, and provides basic latency. NEON support will be added in a subsequent patch with proper forwarding logic. Verification was done by setting the pre-RA scheduler to linearize to better gauge the effect of the MIScheduler. Even without modeling the forward logic, the results show a modest improvement for Cortex-A53. Reviewers: apazos, mcrosier, atrick Patch by Dave Estes <cestes@codeaurora.org>! llvm-svn: 203125
* [SystemZ] Remove "virtual" from override methodsRichard Sandiford2014-03-0621-256/+213
| | | | | | | Also fix a couple of cases where "override" was missing. No behavioural change intended. llvm-svn: 203110
* [SystemZ] Use "auto" for cast resultsRichard Sandiford2014-03-069-84/+75
| | | | | | No functional change intended. llvm-svn: 203106
* [SystemZ] Use "for (auto" a bitRichard Sandiford2014-03-065-53/+39
| | | | | | | Just the simple cases for now. There were a few knock-on changes of MachineBasicBlock *s to MachineBasicBlock &s. No functional change intended. llvm-svn: 203105
* [SystemZ] Update namespace formatting to match current guidelinesRichard Sandiford2014-03-0621-612/+613
| | | | | | No functional change intended. llvm-svn: 203103
* AVX-512: Added rrk, rrkz, rmk, rmkz, rmbk, rmbkz versions of AVX512 FP ↵Elena Demikhovsky2014-03-063-15/+630
| | | | | | | | packed instructions, added encoding tests for them. By Robert Khazanov. llvm-svn: 203098
* AVX-512: fixed comressed displacement - by Robert KhazanovElena Demikhovsky2014-03-064-3/+100
| | | | llvm-svn: 203096
* Cleaning up two more pre-Visual C++ 2012 build hacks.Yaron Keren2014-03-062-17/+0
| | | | llvm-svn: 203093
* Fix warnings about an variable only used in asserts.Ahmed Charles2014-03-061-0/+3
| | | | llvm-svn: 203089
* Add <cstddef> for use of std::ptrdiff_t.Ahmed Charles2014-03-061-0/+1
| | | | llvm-svn: 203086
* Fix break by qualifying ptrdiff_t with std::.Ahmed Charles2014-03-061-2/+2
| | | | llvm-svn: 203084
* Replace OwningPtr<T> with std::unique_ptr<T>.Ahmed Charles2014-03-06167-654/+556
| | | | | | | | | | This compiles with no changes to clang/lld/lldb with MSVC and includes overloads to various functions which are used by those projects and llvm which have OwningPtr's as parameters. This should allow out of tree projects some time to move. There are also no changes to libs/Target, which should help out of tree targets have time to move, if necessary. llvm-svn: 203083
* DebugInfo: Tag units as having been indexed in GNU pubnames by using a ↵David Blaikie2014-03-063-13/+7
| | | | | | | | | | DW_AT_GNU_pubnames of DW_FORM_flag(_present) rather than sec_offsets to the pubnames/types sections This is consistent with GDB ToT and reduces the number of relocations in (type and compile) units, substantially reducing relocations and debug size in fission + type units builds. llvm-svn: 203082
* Allow constant folding of copysignKarthik Bhat2014-03-062-0/+56
| | | | llvm-svn: 203076
* [Modules] Fix a layering issue that is actually impacting the modulesChandler Carruth2014-03-063-12/+22
| | | | | | | | | | | | | | | | | | | | | | selfhost. The 'Core.h' C-API header is part of the IR LLVM library. (One might even argue it should be called IR.h, but that's a separate point.) We can't include it into a Support header without violating the layering, and in a way that breaks modules. MemoryBuffer's opaque C type was being defined in the Core.h C-API header despite being in the Support library, and thus we ended up with this weird issue. It turns out that there were other constructs from the Support library in the Core.h header. This patch lifts all of them into Support.h and then includes that into Core.h. The only possible fallout is if someone was including Support.h and relying on Core.h to be visible for their own uses. Considering the narrow interface actually provided by the C-API for the Support library, this seems a very, very unlikely mistake. llvm-svn: 203071
* [Layering] Move GVMaterializer.h into the IR library where itsChandler Carruth2014-03-064-6/+6
| | | | | | | | | | | | | implementation already lived. After this commit, the only IR-library headers in include/llvm/* are ones related to the legacy pass infrastructure that I'm planning to leave there until the new one is farther along. The only other headers at the top level are linking and initialization aids that aren't really libraries but just headers. llvm-svn: 203069
* [cleanup] Re-sort the standard library include lines.Chandler Carruth2014-03-061-1/+1
| | | | llvm-svn: 203066
* [Layering] Sink Linker.h into a Linker subdirectory to make itChandler Carruth2014-03-068-10/+10
| | | | | | consistent with every other sub-library header in LLVM. llvm-svn: 203065
* [Layering] Move InstVisitor.h into the IR library as it is prettyChandler Carruth2014-03-0620-22/+22
| | | | | | obviously coupled to the IR. llvm-svn: 203064
* Change the tag on this iterator to bidir and implement enough operators to ↵Owen Anderson2014-03-061-1/+11
| | | | | | | | make it true. It ought to be possible to make this truly random access if anyone cares enough. llvm-svn: 203060
* Fix issues in the NamedMDNode operand iterator, including those pointed out byOwen Anderson2014-03-061-8/+11
| | | | | | Chandler in review. llvm-svn: 203058
* DebugInfo: Shrink pubnames/pubtypes in the presence of type units by only ↵David Blaikie2014-03-063-34/+24
| | | | | | emitting pub sections for compile units llvm-svn: 203057
* Add some helpful comments on DIEValue types that we expect to hash.Eric Christopher2014-03-061-1/+4
| | | | llvm-svn: 203055
* The PPC global base register cannot be r0Hal Finkel2014-03-061-2/+2
| | | | | | | | | The global base register cannot be r0 because it might end up as the first argument to addi or addis. Fixes PR18316. I don't have a small stable test case. llvm-svn: 203054
* Add a iterator and interator_range interface to the operands of a NamedMDNode.Owen Anderson2014-03-061-0/+48
| | | | | | | The iterator is a little complex because we don't want to expose the implementation details (TrackingVH) of the operand vector to clients. llvm-svn: 203053
* [Layering] Move DebugInfo.h into the IR library where its implementationChandler Carruth2014-03-0656-58/+58
| | | | | | already lives. llvm-svn: 203046
* Fixup PPC Darwin i1 argument handlingHal Finkel2014-03-062-0/+12
| | | | | | | Like on other targets, we need to zero_extend/truncate i1 args before copying them to GPRs. llvm-svn: 203045
* Rewrite the attribute hashing algorithm to use the type of the valueEric Christopher2014-03-061-32/+36
| | | | | | | | pointed to by the attribute, rather than the form as a first step to determining how to hash the values. No functional change intended. llvm-svn: 203044
* When using CR bit registers on PPC32, handle the i1 vaarg caseHal Finkel2014-03-062-0/+18
| | | | | | | | When copying an i1 value into a GPR for a vaarg call, we need to explicitly zero-extend the i1 value (otherwise an invalid CRBIT -> GPR copy will be generated). llvm-svn: 203041
* [Layering] Move DIBuilder.h into the IR library where its implementationChandler Carruth2014-03-0615-17/+17
| | | | | | already lives. llvm-svn: 203038
* Change math intrinsic attributes from readonly to readnone. TheseRaul E. Silvera2014-03-064-22/+17
| | | | | | | | | | are operations that do not access memory but may be sensitive to floating-point environment changes. LLVM does not attempt to model FP environment changes, so this was unnecessarily conservative and was getting on the way of some optimizations, in particular SLP vectorization. llvm-svn: 203037
* Remove the last of the special case code for emitting attributes.Eric Christopher2014-03-063-39/+26
| | | | | | | | This works by moving the existing code into the DIEValue hierarchy and using the DwarfDebug pointer off of the AsmPrinter to access any global information we need. llvm-svn: 203033
* constify a few accessors.Eric Christopher2014-03-061-3/+3
| | | | llvm-svn: 203032
* Remove special case in the DIEValue printing since it only existedEric Christopher2014-03-061-9/+5
| | | | | | for verbose asm. llvm-svn: 203031
* Attempt to unbreak little-endian buildbots.Rui Ueyama2014-03-051-3/+6
| | | | llvm-svn: 203023
* [Mips] Testcase typo fix. No functionality change.Jack Carter2014-03-051-33/+33
| | | | llvm-svn: 203020
* Now that we don't use libtool, we don't need to upgrade it :-)Rafael Espindola2014-03-051-35/+0
| | | | | | Thanks to Patrik Hägglund H for noticing it! llvm-svn: 203019
* Add a DIELocList class to handle pointers into the location list.Eric Christopher2014-03-056-14/+81
| | | | | | | | This enables us to figure out where in the debug_loc section our locations are so that we can eventually hash them. It also helps remove some special case code in emission. No functional change. llvm-svn: 203018
* With PPC CR bit registers, handle int_to_fp on older coresHal Finkel2014-03-052-6/+37
| | | | | | | | | On cores without fpcvt support, we cannot promote int_to_fp i1 operations, because there is nothing to promote them to. The most straightforward implementation of this uses a select to choose between the two possible resulting floating-point values (and that's what is done here). llvm-svn: 203015
OpenPOWER on IntegriCloud