summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Move PathV2.h to Path.hRafael Espindola2013-06-117-389/+374
| | | | | | | Most clients have already been moved from Path V1 to V2. The ones using V1 now include PathV1.h explicitly. llvm-svn: 183801
* ScopDetect: check region entering edges are valid.Sebastian Pop2013-06-112-11/+26
| | | | | | | | | | | | | | | | When a region header is part of a loop, then all entering edges of this region should not come from the loop but outside the region. Otherwise, the loop may be only partially part of the region, which would cause troubles in handling induction variables. Currently, we can only model induction variables that are either fully part of the scop (loop induction variable) or induction variables that are scop- invariant (parameter). A loop that is only partially part of the scop causes troubles, as there is no good way to handle the induction variable in the independent blocks pass. Contributed-by: Star Tan <tanmx_star@yeah.net> llvm-svn: 183800
* scop detection: remove an iteration over all usesSebastian Pop2013-06-111-29/+0
| | | | llvm-svn: 183799
* scop detection: run isValidLoop as early as possibleSebastian Pop2013-06-111-4/+7
| | | | | | | to discard regions with invalid loops before going through the contents of the basic blocks llvm-svn: 183798
* scop detection: run isValidCFG as early as possibleSebastian Pop2013-06-111-3/+5
| | | | | | | to discard regions with invalid CFG before going through the contents of the basic blocks llvm-svn: 183797
* Include Path.h instead of PathV2.h.Rafael Espindola2013-06-111-1/+1
| | | | | | I am about to move PathV2.h to Path.h. llvm-svn: 183796
* Include Path.h instead of PathV2.h.Rafael Espindola2013-06-117-7/+7
| | | | | | I am about to move PathV2.h to Path.h. llvm-svn: 183795
* ARM FastISel fix sext/zext foldJF Bastien2013-06-111-19/+36
| | | | | | | | | | | Sign- and zero-extension folding was slightly incorrect because it wasn't checking that the shift on extensions was zero. Further, I recently added AND rd, rn, #255 as a form of 8-bit zero extension, and failed to add the folding code for it. This patch fixes both issues. This patch fixes both, and the test should remain the same: test/CodeGen/ARM/fast-isel-fold.ll llvm-svn: 183794
* <rdar://problem/13646047>Enrico Granata2013-06-111-0/+40
| | | | | | | Providing a Python helper SBData.CreateDataFromInt() to make an SBData out of a single integer number It tries to use the current target, if any, for endianness and pointer size, and it picks a reasonable size on your behalf - if there is no way it can infer anything reasonable it essentially picks a 64-bit Mac as the reference model llvm-svn: 183793
* Use llvm::APFloat for formatting if a target is available. Each target when ↵Greg Clayton2013-06-117-70/+188
| | | | | | | | debugging has a "ASTContext" that helps us to use the correct floating point semantics. Now that APFloat supports toString we now use that. If we don't have a target, we still fall back on the old display methodology, but the important formatting should always have a target available and thus use the compiler floating point code. Modified the test programs to use floating point constants that always will display correctly. We had some numbers that were being rounded, and now that we are using clang, we no longer round them and we get more correct results. llvm-svn: 183792
* Correctly handle designated initializers which modify an array initializedEli Friedman2013-06-113-0/+96
| | | | | | | | | | with a string. This case is sort of tricky because we can't modify the StringLiteral used to represent such initializers. We are forced to decompose the string into individual characters. Fixes <rdar://problem/10465114>. llvm-svn: 183791
* Make host ARM CPU feature detection independent of the vendorTobias Grosser2013-06-111-30/+20
| | | | | | | | | | | | For ARM on linux we use /proc/cpuinfo to detect the host CPU's features. Linux derives these values without ever looking at the vendor of the specific CPU implementation. Hence, it adds little value, if we parse the output of /proc/cpuinfo only for certain vendors. This patch enables us to derive the correct feature flags e.g. for Qualcomm CPUs. llvm-svn: 183790
* [PECOFF][Writer] Structure of pe32_header was changed.Rui Ueyama2013-06-111-8/+13
| | | | | | | | | | | | Change for http://llvm-reviews.chandlerc.com/D952 Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D953 llvm-svn: 183789
* [PECOFF] Remove COFF header from PE header for simplicity.Rui Ueyama2013-06-112-8/+5
| | | | | | | | | | | | | | | | COFF header is always present both in executable and in object file. PE header is present only in executable. So the natural way to handle PE/COFF file is treating COFF is mandatory header and PE is optional. Current data structre does not allow it, because PE header includes COFF header. Removing COFF header will simplify the code to handle PE/COFF files. Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D952 llvm-svn: 183788
* Add a testcase for PR7434, which is a bug we no longer appear to have.Richard Smith2013-06-111-0/+28
| | | | llvm-svn: 183787
* Include PathV1.h in a file that uses it.Rafael Espindola2013-06-111-0/+1
| | | | llvm-svn: 183786
* More build fixes.Rafael Espindola2013-06-112-0/+2
| | | | llvm-svn: 183785
* Fix build after clang change r183781.Rafael Espindola2013-06-111-0/+1
| | | | llvm-svn: 183784
* Try to fix the windows build.Rafael Espindola2013-06-111-0/+2
| | | | llvm-svn: 183783
* Include PathV1.h in files that use it.Rafael Espindola2013-06-1111-1/+10
| | | | | | This is preparation for replacing Path.h with PathV2.h. llvm-svn: 183782
* Include PathV1.h in files that use it.Rafael Espindola2013-06-118-0/+8
| | | | | | This is preparation for replacing Path.h with PathV2.h. llvm-svn: 183781
* Remove Path::getDirname.Rafael Espindola2013-06-114-54/+0
| | | | llvm-svn: 183780
* Remove Path::getBasename.Rafael Espindola2013-06-113-40/+0
| | | | llvm-svn: 183779
* Remove Path::getLast.Rafael Espindola2013-06-113-49/+0
| | | | llvm-svn: 183778
* Remove GetDLLSuffix.Rafael Espindola2013-06-112-12/+0
| | | | llvm-svn: 183777
* Revert r183721. It caused cleanups to be delayed too long in some cases.Richard Smith2013-06-118-383/+278
| | | | | | Testcase to follow. llvm-svn: 183776
* Remove GetRootDirectory.Rafael Espindola2013-06-113-24/+0
| | | | llvm-svn: 183775
* Making our Python decrefs NULL-safeEnrico Granata2013-06-112-24/+24
| | | | llvm-svn: 183774
* Remove GetUserHomeDirectory.Rafael Espindola2013-06-113-32/+0
| | | | llvm-svn: 183773
* <rdar://problem/13759177>Enrico Granata2013-06-111-1/+7
| | | | | | | Allowing LLDB to resolve names of Python functions when they are located in classes This allows things like *bound* classmethods to be used for formatters, commands, ... llvm-svn: 183772
* Don't define LTDL_SHLIBPATH_VAR.Rafael Espindola2013-06-117-80/+2
| | | | llvm-svn: 183771
* Remove GetSystemLibraryPaths.Rafael Espindola2013-06-114-69/+0
| | | | llvm-svn: 183770
* Don't define LLVM_LIBDIR, it is not used anymore.Rafael Espindola2013-06-118-47/+9
| | | | llvm-svn: 183769
* Reduce the number of symbols on the object file.Samuel Benzaquen2013-06-111-43/+80
| | | | | | | | | | | | | | | | | Summary: Some compilers where failing with this file because the number of symbols was above 2**15. - Replace std::list<> and std::vector<> with plain arrays. - Change VariadicMatcherCreateCallback to be a function template, and a single class that wraps the instantiations. - Remove some more unnecessary template arguments and function calls. Reviewers: klimek CC: cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D948 llvm-svn: 183768
* [mips] Use function TargetInstrInfo::getRegClass.Akira Hatanaka2013-06-112-6/+9
| | | | | | No functionality changes. llvm-svn: 183767
* <rdar://problem/13779789>Enrico Granata2013-06-113-8/+33
| | | | | | Allow memory read -t to take persistent types (those defined with expression struct $....) llvm-svn: 183766
* Remove Path::GetBitcodeLibraryPaths.Rafael Espindola2013-06-113-44/+0
| | | | llvm-svn: 183765
* Remove unused FindLibrary function.Rafael Espindola2013-06-112-22/+0
| | | | llvm-svn: 183764
* Remove sys::identifyFileType.Rafael Espindola2013-06-113-144/+1
| | | | llvm-svn: 183763
* Convert another use of sys::identifyFileType.Rafael Espindola2013-06-111-6/+6
| | | | | | No functionality change. llvm-svn: 183762
* Fix documentation on the path to Bitcode reader/writerMichael Liao2013-06-112-3/+3
| | | | llvm-svn: 183761
* [libclang/python] Add a few "cursor kinds" that were missing in the python ↵Argyrios Kyrtzidis2013-06-112-5/+45
| | | | | | | | binding for libclang. Patch by Mathieu Baudet! llvm-svn: 183760
* Convert another use of sys::identifyFileType.Rafael Espindola2013-06-111-2/+3
| | | | | | No functionality change. llvm-svn: 183759
* Convert another use of sys::identifyFileType.Rafael Espindola2013-06-111-26/+28
| | | | | | No functionality change. llvm-svn: 183758
* Make ASTContext::Allocate use size_t for the size argument.Eli Friedman2013-06-111-1/+1
| | | | llvm-svn: 183757
* Change how globalopt handles aliases in llvm.used.Rafael Espindola2013-06-112-104/+165
| | | | | | | | | | | | | | | | | | | | | | | | Instead of a custom implementation of replaceAllUsesWith, we just call replaceAllUsesWith and recreate llvm.used and llvm.compiler-used. This change is particularity interesting because it makes llvm see through what clang is doing with static used functions in extern "C" contexts. With this change, running clang -O2 in extern "C" { __attribute__((used)) static void foo() {} } produces @llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @foo to i8*)], section "llvm.metadata" define internal void @foo() #0 { entry: ret void } llvm-svn: 183756
* Remove eFormatHalfFloat as it isn't needed. eFormatFloat should be used and ↵Greg Clayton2013-06-114-26/+12
| | | | | | the byte size will tell us how to display it. llvm-svn: 183755
* Convert another use of sys::identifyFileType.Rafael Espindola2013-06-111-8/+6
| | | | | | No functionality change. llvm-svn: 183754
* Port r183666 to identify_magic.Rafael Espindola2013-06-111-2/+3
| | | | | | | | | | | | | It will be tested in the next commit which moves another user to identify_magic. Original message: Fix an out of bounds array access. We were looking at Magic[5] without checking Length. Since this path would not return unless Length >= 18 anyway, just move the >= 18 check up. llvm-svn: 183753
* Fix variable name.Rafael Espindola2013-06-111-29/+29
| | | | llvm-svn: 183752
OpenPOWER on IntegriCloud