summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* AVX-512: Fixed encoding of VPTESTMQElena Demikhovsky2014-02-231-8/+11
| | | | llvm-svn: 201980
* Simplify remove, create_directory and create_directories.Rafael Espindola2014-02-233-52/+34
| | | | | | | | | | | | | | | Before this patch they would take an boolean argument to say if the path already existed. This was redundant with the returned error_code which is able to represent that. This allowed for callers to incorrectly check only the existed flag instead of first checking the error code. Instead, pass in a boolean flag to say if the previous (non-)existence should be an error or not. Callers of the of the old simple versions are not affected. They still ignore the previous (non-)existence as they did before. llvm-svn: 201979
* Use simpler form of llvm::sys::fs::remove.Rafael Espindola2014-02-231-2/+1
| | | | llvm-svn: 201975
* LocalStackSlotAllocation: Turn one-iteration loop into if.Benjamin Kramer2014-02-231-12/+5
| | | | | | No functionality change. llvm-svn: 201974
* Simplify linking to system librariesNAKAMURA Takumi2014-02-231-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | | The LLVMSupport library implementation consolidates all dependencies on system libraries. Move the logic gathering system libraries out of 'cmake/modules/LLVM-Config.cmake' and into 'lib/Support/CMakeLists.txt'. Use the target_link_libraries() command there to tell CMake about the link dependencies of the LLVMSupport implementation. CMake will automatically propagate this to all targets that link LLVMSupport directly or indirectly. We still need to build knowledge of system library dependencies into 'llvm-config'. Store the list of libraries needed in a property on LLVMSupport and teach 'tools/llvm-config/CMakeLists.txt' to retrieve it from there. Drop all calls to 'link_system_libs' and 'get_system_libs' from our CMake code. Replace their implementations with a warning that explains the calls are no longer necessary. Also drop from 'LLVMConfig.cmake' the HAVE_* and related variables that were published there only to allow 'get_system_libs' to run outside our build process. Contributed by Brad King. llvm-svn: 201969
* ARM IAS: support .short and .hwordSaleem Abdulrasool2014-02-231-5/+9
| | | | | | | | This adds support for the .short and its alias .hword for adding literal values into the object file. This is similar to the .word directive, however, rather than inserting a value of 4 bytes, adds a 2-byte value. llvm-svn: 201968
* Fix typoManman Ren2014-02-221-1/+1
| | | | llvm-svn: 201944
* MC: Support COFF string tables larger than 10MBNico Rieck2014-02-222-3/+69
| | | | | | | | Offsets past the range of single-slash encoding are encoded as base64, padded to 6 characters, and prefixed with two slashes. This encoding is undocumented but used by MSVC. llvm-svn: 201940
* Don't inline get[S|U]LEB128Size() until they are proved to be hot.Logan Chien2014-02-222-0/+45
| | | | llvm-svn: 201939
* Move get[S|U]LEB128Size() to LEB128.h.Logan Chien2014-02-226-62/+27
| | | | | | | | | | This commit moves getSLEB128Size() and getULEB128Size() from MCAsmInfo to LEB128.h and removes some copy-and-paste code. Besides, this commit also adds some unit tests for the LEB128 functions. llvm-svn: 201937
* Include <cctype> for isdigit().Logan Chien2014-02-221-0/+1
| | | | llvm-svn: 201930
* [CodeGenPrepare] Fix the check of the legality of an instruction.Quentin Colombet2014-02-221-1/+6
| | | | | | | | | The API expects an ISD opcode, not an IR opcode. Fixes a regression for R600. Related to <rdar://problem/15519855>. llvm-svn: 201923
* Switch the LLVM error reporting on the new diagnostic system.Quentin Colombet2014-02-221-18/+4
| | | | | | | | | | The LLVM diagnostic are now wired-up in clang (since r200931), thus the user experience will not be impacted by this change anymore. Related to <rdar://problem/15886697> llvm-svn: 201915
* [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen.Quentin Colombet2014-02-225-3/+3
| | | | | | | | | | | | CodeGenPrepare uses extensively TargetLowering which is part of libLLVMCodeGen. This is a layer violation which would introduce eventually a dependence on CodeGen in ScalarOpts. Move CodeGenPrepare into libLLVMCodeGen to avoid that. Follow-up of <rdar://problem/15519855> llvm-svn: 201912
* [DAGCombiner] PCMP* sets its result to all ones or zeros so we can AND with theQuentin Colombet2014-02-211-0/+18
| | | | | | | | | | | | | | shifted mask rather than masking and shifting separately. The patch adds this transformation to the DAGCombiner:   (shl (and (setcc:i8v16 ...) N01C) N1C) -> (and (setcc:i8v16 ...) N01C<<N1C) <rdar://problem/16054492> Patch by Adam Nemet <anemet@apple.com> llvm-svn: 201906
* [Stackmaps] Move the target-independent frame index elimination for ↵Juergen Ributzka2014-02-212-9/+15
| | | | | | | | | | | | stackmaps and patchpoints into target-specific code. The lowering of the frame index for stackmaps and patchpoints requires some target-specific magic and should therefore be handled in the target-specific eliminateFrameIndex method. This is related to <rdar://problem/16106219> llvm-svn: 201904
* Shankar kindly pointed out that I wasn't following the coding convention ↵Aaron Ballman2014-02-211-1/+1
| | | | | | properly, so moving raw_ostream.h above system_error.h. llvm-svn: 201885
* Fixing the MSVC build by including a file.Aaron Ballman2014-02-211-0/+1
| | | | llvm-svn: 201884
* Add missing include.Rafael Espindola2014-02-211-0/+1
| | | | | | Should fix the bots. llvm-svn: 201882
* Add a SymbolicFile interface between Binary and ObjectFile.Rafael Espindola2014-02-219-21/+239
| | | | | | | | | | | This interface allows IRObjectFile to be implemented without having dummy methods for all section and segment related methods. Both llvm-ar and llvm-nm are changed to use it. Unfortunately the mangler is still not plugged in since it requires some refactoring to make a Module hold a DataLayout. llvm-svn: 201881
* DebugInfo: Remove the empty macinfo section.David Blaikie2014-02-211-3/+0
| | | | | | | | | | | We were just emitting a label for this section for no real reason - this caused us to emit the section even though we never put anything in it. Not bothering with a test (though not adamantly anti-test) because it seems somewhat arbitrary to test for the absence of this section anymore than the absence of any other section. llvm-svn: 201876
* Rename a few more DataLayout variables from TD to DL.Rafael Espindola2014-02-214-41/+41
| | | | llvm-svn: 201870
* fix a corner case in delinearizationSebastian Pop2014-02-211-24/+15
| | | | | | handle special cases Step==1, Step==-1, GCD==1, and GCD==-1 llvm-svn: 201868
* normalize the last delinearized dimensionSebastian Pop2014-02-211-2/+17
| | | | | | | | | | | | | | | | in the dependence test, we used to discard some information that the delinearization provides: the size of the innermost dimension of an array, i.e., the size of scalars stored in the array, and the remainder of the delinearization that provides the offset from which the array reads start, i.e., the base address of the array. To avoid losing this data in the rest of the data dependence analysis, the fix is to multiply the access function in the last delinearized dimension by its size, effectively making the size of the last dimension to always be in bytes, and then add the remainder of delinearization to the last subscript, effectively making the last subscript start at the base address of the array. llvm-svn: 201867
* fail delinearization when the size of subscripts differsSebastian Pop2014-02-211-1/+14
| | | | | | | | | | | Because the delinearization is not a global analysis pass, it will compute the delinearization independently of knowledge about the way the delinearization happened for other data accesses to the same array: the dependence analysis will only trigger the delinearization on a tuple of access functions, and thus delinearization may compute different subscripts sizes for a same array. When that happens the safest is to discard the delinearized information. llvm-svn: 201866
* Remove dead declarationSylvestre Ledru2014-02-211-1/+0
| | | | llvm-svn: 201863
* [AArch64] Add register constraints to avoid generating STLXR and STXR with ↵Kevin Qin2014-02-211-0/+1
| | | | | | unpredictable behavior. llvm-svn: 201841
* Make DisableIntegratedAS a TargetOption.Rafael Espindola2014-02-211-5/+1
| | | | | | | This replaces the old NoIntegratedAssembler with at TargetOption. This is more flexible and will be used to forward clang's -no-integrated-as option. llvm-svn: 201836
* Rename a few more DataLayout variables.Rafael Espindola2014-02-218-30/+30
| | | | llvm-svn: 201833
* Rename many DataLayout variables from TD to DL.Rafael Espindola2014-02-2138-924/+924
| | | | | | | | | I am really sorry for the noise, but the current state where some parts of the code use TD (from the old name: TargetData) and other parts use DL makes it hard to write a patch that changes where those variables come from and how they are passed along. llvm-svn: 201827
* Make sure that value handle users see the transformation of an indirect call ↵Nick Lewycky2014-02-201-0/+2
| | | | | | to a direct call. This is important for the CallGraph iteration. Patch by Björn Steinbrink! llvm-svn: 201822
* Set the SuppressWarnings option on tool level and propagate to the library.Eli Bendersky2014-02-201-12/+13
| | | | | | | | | | | | | The SuppressWarnings flag, unfortunately, isn't very useful for custom tools that want to use the LLVM module linker. So I'm changing it to a parameter of the Linker, and the flag itself moves to the llvm-link tool. For the time being as SuppressWarnings is pretty much the only "option" it seems reasonable to propagate it to Linker objects. If we end up with more options in the future, some sort of "struct collecting options" may be a better idea. llvm-svn: 201819
* cstdint is a C++11 header, LLVM provides its own version of it.Benjamin Kramer2014-02-201-1/+0
| | | | | | Some versions of libstdc++ forbid using cstdint in C++98 mode. llvm-svn: 201812
* [Support] Correctly handle zero length inputs to UTF conversion functions on ↵Michael J. Spencer2014-02-201-32/+30
| | | | | | Windows. llvm-svn: 201811
* Fix build breakage.Rui Ueyama2014-02-201-1/+2
| | | | llvm-svn: 201805
* Object/COFF: Fix possible truncation bug.Rui Ueyama2014-02-201-3/+6
| | | | | | | VA can be 64 bit, as the image base can be larger than 4GB, so we need to handle 64 bit VAs properly. llvm-svn: 201803
* Remove unnecessary copy of array_lengthof.Benjamin Kramer2014-02-201-5/+2
| | | | llvm-svn: 201798
* AArch64: __va_list.__stack must be 8-byte alignedOliver Stannard2014-02-201-1/+3
| | | | | | | | The va_start macro for AArch64 must set va_list.__stack to the address following the last named argument on the stack, rounded up to an alignment of 8 bytes. llvm-svn: 201797
* [AArch64] Add support for TargetTransformInfo Analysis.Chad Rosier2014-02-205-0/+131
| | | | llvm-svn: 201793
* [mips] Make it impossible to have UnknownABI in CodeGen and Integrated ↵Daniel Sanders2014-02-203-8/+17
| | | | | | | | | | | | | | | | | | | | | | | | | Assembler. Summary: This removes the need to coerce UnknownABI to the default ABI (O32 for MIPS32, N64 for MIPS64 [*]) in both MipsSubtarget and MipsAsmParser. Clang has been updated to disable both possible default ABI's before enabling the ABI it intends to use. [*] N64 being the default for MIPS64 is not actually correct. However N32 is not fully implemented/tested yet. Depends on: D2830 Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2832 Differential Revision: http://llvm-reviews.chandlerc.com/D2846 llvm-svn: 201792
* [CMake] Move intrinsics_gen to lib/Target out of add_public_tablegen_target.NAKAMURA Takumi2014-02-201-0/+2
| | | | | | add_public_tablegen_target is used somewhere. llvm-svn: 201787
* AsmParser: Disable Darwin-style macro argument expansion on non-darwin targets.Benjamin Kramer2014-02-201-3/+3
| | | | | | There is code in the wild that relies on $0 not being expanded. llvm-svn: 201784
* [mips] Make mips64 the default CPU for the mips64 architectureDaniel Sanders2014-02-202-11/+30
| | | | | | | | | | | | | | | | | | | | Summary: This is consistent with the integrated assembler. All mips64 codegen tests previously passed -mcpu. Removed -mcpu from blez_bgez.ll and const-mult.ll to cover the default case. Ideally, the two implementations of selectMipsCPU() will be merged but it's proven difficult to find a home for the function that doesn't cause link errors. For now, we'll hoist the common functionality into a function and mark it with FIXME's. Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2830 llvm-svn: 201782
* COFFObjectFile.cpp: Appease msvc in r201760.NAKAMURA Takumi2014-02-201-1/+1
| | | | llvm-svn: 201769
* [x86] Switch PAUSE instruction to use XS prefix instead of HasREPPrefix. ↵Craig Topper2014-02-202-1/+2
| | | | | | Remove HasREPPrefix support from disassembler table generator since its now only used by CodeGenOnly instructions. llvm-svn: 201767
* AVX-512: Fixed compilation issueElena Demikhovsky2014-02-201-4/+7
| | | | llvm-svn: 201761
* llvm-objdump/COFF: Print SEH table addresses.Rui Ueyama2014-02-201-3/+9
| | | | | | | SEH table addresses are VA in COFF file. In this patch we convert VA to RVA before printing it, because dumpbin prints them as RVAs. llvm-svn: 201760
* Fix change in behaviour accidentally introduced in r201754.Nick Lewycky2014-02-201-2/+4
| | | | llvm-svn: 201758
* AVX-512: Assembly parsing of broadcast semantic in AVX-512; imlemented by ↵Elena Demikhovsky2014-02-202-66/+107
| | | | | | | | Nis Zinovy (zinovy.y.nis@intel.com) Fixed truncate i32 to i1; a test will be provided in the next commit. llvm-svn: 201757
* Simplify the implementation of getUnderlyingObjectsForInstr, without ↵Nick Lewycky2014-02-201-13/+12
| | | | | | intending to change the semantics at all. llvm-svn: 201754
OpenPOWER on IntegriCloud