summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* TMP: LEA64_32r fixingTim Northover2013-06-015-57/+159
| | | | llvm-svn: 183069
* X86: change MOV64ri64i32 into MOV32ri64Tim Northover2013-06-016-42/+72
| | | | | | | | | | | | | | The MOV64ri64i32 instruction required hacky MCInst lowering because it was allocated as setting a GR64, but the eventual instruction ("movl") only set a GR32. This converts it into a so-called "MOV32ri64" which still accepts a (appropriate) 64-bit immediate but defines a GR32. This is then converted to the full GR64 by a SUBREG_TO_REG operation, thus keeping everyone happy. This fixes a typo in the opcode field of the original patch, which should make the legact JIT work again (& adds test for that problem). llvm-svn: 183068
* [Sparc] Generate correct code for leaf functions with stack objects Venkatraman Govindaraju2013-06-015-30/+102
| | | | llvm-svn: 183067
* Removed a comment above an include which is unnecessary and added a missing ↵Michael Gottesman2013-06-011-1/+2
| | | | | | closing @} for a doxygen comment. llvm-svn: 183065
* Added method comments for getZero,getInf.Michael Gottesman2013-06-011-0/+7
| | | | llvm-svn: 183064
* Updated APFloat's comments to fit the LLVM style guide.Michael Gottesman2013-06-011-159/+202
| | | | | | Also added a few more method comments and performed some copy editing. llvm-svn: 183063
* [analyzer] Malloc checker should only escape the receiver when “[O ↵Anna Zaks2013-05-313-32/+54
| | | | | | | | | init..]” is called. Jordan has pointed out that it is valuable to warn in cases when the arguments to init escape. For example, NSData initWithBytes id not going to free the memory. llvm-svn: 183062
* Make SubRegIndex size mandatory, following r183020.Ahmed Bougacha2013-05-3114-54/+74
| | | | | | | This also makes TableGen able to compute sizes/offsets of synthesized indices representing tuples. llvm-svn: 183061
* Prevent loop-unroll from making assumptions about undefined behavior.Andrew Trick2013-05-313-27/+76
| | | | | | | | | | | | | | Fixes rdar:14036816, PR16130. There is an opportunity to compute precise trip counts for 'or' expressions and multi-exit loops. rdar:14038809: Optimize trip count computation for multi-exit loops. To do this we need to record the fact that ExitLimit assumes NSW. When it does not we can safely assume that the loop trip count is the minimum ExitLimt across all subexpressions and loop exits. llvm-svn: 183060
* Temporarily Revert "X86: change MOV64ri64i32 into MOV32ri64" as itEric Christopher2013-05-315-55/+42
| | | | | | seems to have caused PR16192 and other JIT related failures. llvm-svn: 183059
* A few cleanups for our documentationEnrico Granata2013-05-313-48/+39
| | | | llvm-svn: 183058
* Const-ify some printing and dumping code for DIEValues.Eric Christopher2013-05-312-13/+13
| | | | llvm-svn: 183057
* Fix the indentation on the AST visitors used in -Wloop-analysis.Richard Trieu2013-05-311-102/+103
| | | | llvm-svn: 183056
* [analyzer] Fix a false positive reported on rare strange code, which happens ↵Anna Zaks2013-05-312-0/+16
| | | | | | to be in JSONKit llvm-svn: 183055
* Add support for adding the contents of a StringRef to the MD5 hash.Eric Christopher2013-05-313-7/+27
| | | | llvm-svn: 183054
* Convert more unsigned char -> uint8_t.Eric Christopher2013-05-312-10/+10
| | | | llvm-svn: 183053
* Fix comment.Eric Christopher2013-05-311-1/+1
| | | | llvm-svn: 183052
* Move "unsigned char" -> "uint8_t".Eric Christopher2013-05-312-12/+12
| | | | llvm-svn: 183051
* Fix typo in comment.Rui Ueyama2013-05-311-1/+1
| | | | llvm-svn: 183050
* Add ability to attach/detach to multi-threaded inferiors on Linux.Matt Kopec2013-05-316-45/+158
| | | | | | All running threads will be detected and stopped on attach and all threads get resumed on detach. llvm-svn: 183049
* Objective-C: Fixes an ivar lookup bug whereFariborz Jahanian2013-05-312-0/+33
| | | | | | | 'ivar' was used inside a record/union used as argument to __typeof. // rdar14037151 pr5984 llvm-svn: 183048
* LoopVectorize: Change API call to get the backedge taken countArnold Schwaighofer2013-05-311-3/+3
| | | | | | | | | | Use ScalarEvolution's getBackedgeTakenCount API instead of getExitCount since that is really what we want to know. Using the more specific getExitCount was safe because we made sure that there is only one exiting block. No functionality change. llvm-svn: 183047
* Put the PR16167 tests togetherDavid Majnemer2013-05-312-2/+1
| | | | llvm-svn: 183046
* Loop Strength Reduce: Scaling factor cost.Quentin Colombet2013-05-315-3/+96
| | | | | | | | | | | | Account for the cost of scaling factor in Loop Strength Reduce when rating the formulae. This uses a target hook. The default implementation of the hook is: if the addressing mode is legal, the scaling factor is free. <rdar://problem/13806271> llvm-svn: 183045
* Skipping test case for clang 3.4 due to llvm.org/pr16191Daniel Malea2013-05-311-0/+3
| | | | | | - should resolve remaining buildbot issues with debian/clang builder llvm-svn: 183044
* Use just a ArrayRef<uint8_t> to store both hex string and binary data.Rafael Espindola2013-05-311-7/+7
| | | | llvm-svn: 183043
* Rename COFFYaml.h to COFFYAML.h for consistency.Rafael Espindola2013-05-314-3/+3
| | | | llvm-svn: 183042
* Remove union to fix build in c++03.Rafael Espindola2013-05-311-4/+2
| | | | llvm-svn: 183041
* Don't allocate temporary string for section data.Rafael Espindola2013-05-314-27/+61
| | | | llvm-svn: 183040
* Use C-style include to match style in file (instead of C++ style)Daniel Malea2013-05-311-1/+1
| | | | | | - as per review comment from Dimitry Andric! llvm-svn: 183039
* CMake FreeBSD fix: add missing Process plugin directoryDaniel Malea2013-05-311-0/+7
| | | | | | Patch by Ed Maste! llvm-svn: 183038
* <rdar://problem/13752848>Han Ming Ong2013-05-311-0/+2
| | | | | | Add 'JoinExistingSession' to XPC for root debugging. llvm-svn: 183037
* Fix style bug introduced in r183033.Ed Schouten2013-05-311-2/+1
| | | | | | | I renamed the function at one point in time, but forgot to fix the layout of the arguments. llvm-svn: 183036
* LoopVectorize: PHIs with only outside users should prevent vectorizationArnold Schwaighofer2013-05-312-13/+71
| | | | | | | | | | We check that instructions in the loop don't have outside users (except if they are reduction values). Unfortunately, we skipped this check for if-convertable PHIs. Fixes PR16184. llvm-svn: 183035
* [WinLink][Driver] Add -entry command line option.Rui Ueyama2013-05-313-1/+10
| | | | llvm-svn: 183034
* Add support for optimized (non-generic) atomic libcalls.Ed Schouten2013-05-312-21/+152
| | | | | | | | | | | | | | | | | For integer types of sizes 1, 2, 4 and 8, libcompiler-rt (and libgcc) provide atomic functions that pass parameters by value and return results directly. libgcc and libcompiler-rt only provide optimized libcalls for __atomic_fetch_*, as generic libcalls on non-integer types would make little sense. This means that we can finally make __atomic_fetch_* work on architectures for which we don't provide these operations as builtins (e.g. ARM). This should fix the dreaded "cannot compile this atomic library call yet" error that would pop up once every while. llvm-svn: 183033
* FreeBSD cmake build fixes.Daniel Malea2013-05-312-0/+4
| | | | | | | | | - missing #include <cstdlib> in Mangled.cpp - missing include dirs in FreeBSD CMakeLists.txt Patch by Ed Maste! llvm-svn: 183032
* NVPTX: Don't even create a regalloc if we're not going to use it.Benjamin Kramer2013-05-311-2/+7
| | | | | | Fixes a leak found by valgrind. llvm-svn: 183031
* <rdar://problem/14035604>Enrico Granata2013-05-315-6/+122
| | | | | | | | | | | | | Fixing an issue where formats would not propagate from parents to children in all cases Details follow: an SBValue has children and those are fetched along with their values Now, one calls SBValue::SetFormat() on the parent Technically, the format choices should propagate onto the children (see ValueObject::GetFormat()) But if the children values are already fetched, they won't notice the format change and won't update themselves This commit fixes that by making ValueObject::GetValueAsCString() check if any format change intervened from the previous call to the current one A test case is also added llvm-svn: 183030
* Slightly extend matching for atomic loads.Ed Schouten2013-05-311-14/+14
| | | | | | | Also add the "=" to the matched pattern, to see whether we actually save the loaded value. llvm-svn: 183029
* [APFloat] Added a unittest for APFloat::getZero.Michael Gottesman2013-05-311-0/+37
| | | | llvm-svn: 183028
* Update isl to include isl_val changesTobias Grosser2013-05-311-1/+1
| | | | | | | | | | | The latest version of isl includes a new data type isl_val, which properly hides the multi precision math library used by isl. In Polly we would like to replace all uses of isl_int with the corresponding isl_val interfaces. This will allow us to switch the multi precision math library in isl. This is especially interesting for people who would like to replace libgmp with a non-gpl licensed library (e.g. imath). llvm-svn: 183026
* Test that independent block pass does not transform induction variablesTobias Grosser2013-05-312-37/+39
| | | | | | | | | | | The original test case showed a problem with the independet blocks pass and we decided to XFAIL it for now. Unfortunately the failure is not detected if we build without asserts and the verification of the independent block pass is not run. This change tests now for the actual reason of the failure and should trigger even in a non asserts build. We did not yet solve the underlying bug, but this should at least make the test suite behavior consistent. llvm-svn: 183025
* Small code cleanupsEnrico Granata2013-05-312-2/+3
| | | | llvm-svn: 183024
* include missing ISL header fileSebastian Pop2013-05-311-0/+1
| | | | | | | to be able to compile with ISL master as of today 1df91d8515ec88dc7f7f597168ad0f34f26de5a7 llvm-svn: 183023
* Fixed value evaluation to handle null constants.Sean Callanan2013-05-312-1/+8
| | | | | | <rdar://problem/14005311> llvm-svn: 183022
* Modify how the formulae are rated in Loop Strength Reduce.Quentin Colombet2013-05-314-15/+109
| | | | | | | | | | | | | | Namely, check if the target allows to fold more that one register in the addressing mode and if yes, adjust the cost accordingly. Prior to this commit, reg1 + scale * reg2 accesses were artificially preferred to reg1 + reg2 accesses. Indeed, the cost model wrongly assumed that reg1 + reg2 needs a temporary register for the computation, whereas it was correctly estimated for reg1 + scale * reg2. <rdar://problem/13973908> llvm-svn: 183021
* Add a way to define the bit range covered by a SubRegIndex.Ahmed Bougacha2013-05-319-36/+113
| | | | | | | | | | | | | NOTE: If this broke your out-of-tree backend, in *RegisterInfo.td, change the instances of SubRegIndex that have a comps template arg to use the ComposedSubRegIndex class instead. In TableGen land, this adds Size and Offset attributes to SubRegIndex, and the ComposedSubRegIndex class, for which the Size and Offset are computed by TableGen. This also adds an accessor in MCRegisterInfo, and Size/Offsets for the X86 and ARM subreg indices. llvm-svn: 183020
* Testcase for r183015.Benjamin Kramer2013-05-311-0/+27
| | | | | | I hate svn add. llvm-svn: 183019
* [analyzer; new edges] add simplifySimpleBranches() to reduce edges for branches.Ted Kremenek2013-05-312-920/+129
| | | | | | | | | | | | In many cases, the edge from the "if" to the condition, followed by an edge from the branch condition to the target code, is uninteresting. In such cases, we should fold the two edges into one from the "if" to the target. This also applies to loops. Implements <rdar://problem/14034763>. llvm-svn: 183018
OpenPOWER on IntegriCloud