summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* llvm-cov: Allow short options to be groupedJustin Bogner2014-04-231-6/+6
| | | | llvm-svn: 207034
* MC: move test from Generic to COFFSaleem Abdulrasool2014-04-231-0/+0
| | | | | | This is a COFF specific test, move it to COFF to fix the Hexagon buildbots. llvm-svn: 207030
* MC: move ARM64 test from AArch64 directorySaleem Abdulrasool2014-04-231-0/+0
| | | | | | | The test was changed from aarch64 to arm64 but not moved. The test would fail if the backend was not built. llvm-svn: 207029
* MC: honour IMAGE_SCN_CNT_INITIALIZED_DATASaleem Abdulrasool2014-04-2313-28/+37
| | | | | | | Emit the flag to indicate to the assembler that a section contains data if there is pre-populated data present. llvm-svn: 207028
* Move the AddressPool from DwarfFile to DwarfDebug.David Blaikie2014-04-234-11/+10
| | | | | | | | | There's only ever one address pool, not one per DWARF output file, so let's just have one. (similar refactoring of the string pool to come soon) llvm-svn: 207026
* clang-format for my previous commit (I keep forgetting... )David Blaikie2014-04-232-0/+2
| | | | llvm-svn: 207025
* Use pointer size function where only a pointer is expectedMatt Arsenault2014-04-231-1/+1
| | | | llvm-svn: 207023
* Separate out the DWARF address pool into its own type/files.David Blaikie2014-04-237-54/+87
| | | | llvm-svn: 207022
* Remove more default address space argument usage.Matt Arsenault2014-04-235-8/+14
| | | | | | These places are inconsequential in practice. llvm-svn: 207021
* [ARM64] Fix the information we give to the peephole optimizer for comparison.Quentin Colombet2014-04-232-2/+42
| | | | | | | | | ANDS does not use the same encoding scheme as other xxxS instructions (e.g., ADDS). Take that into account to avoid wrong peephole optimization. <rdar://problem/16693089> llvm-svn: 207020
* Don't use default address space arguments in GlobalOptMatt Arsenault2014-04-231-3/+7
| | | | llvm-svn: 207019
* [python] Fix python bindings testsAnders Waldenborg2014-04-231-1/+0
| | | | | | | Broke after the changes related to the LLVMGetSymbolFileOffset removal in r206750 llvm-svn: 207018
* R600: Add a test that used to be broken that I forgot to addMatt Arsenault2014-04-231-0/+29
| | | | llvm-svn: 207017
* clang-format r207010David Blaikie2014-04-231-3/+2
| | | | llvm-svn: 207016
* Convert test to FileCheckMatt Arsenault2014-04-231-1/+5
| | | | llvm-svn: 207015
* [X86] Fix missing/wrong scheduling model found by code inspection.Quentin Colombet2014-04-232-1/+4
| | | | llvm-svn: 207014
* llvm-build: Get rid of 'import *'Anders Waldenborg2014-04-232-2/+2
| | | | | | | | This allows pyflakes catching more errors in the script. Differential Revision: http://reviews.llvm.org/D3334 llvm-svn: 207012
* Split out DwarfFile from DwarfDebug into its own .h/.cpp files.David Blaikie2014-04-235-320/+367
| | | | | | | | Some of these types (DwarfDebug in particular) are quite large to begin with (and I keep forgetting whether DwarfFile is in DwarfDebug or DwarfUnit... ) so having a few smaller files seems like goodness. llvm-svn: 207010
* ProfileData: Avoid unnecessary copies of CounterDataJustin Bogner2014-04-231-6/+6
| | | | | | | | We're currently copying CounterData from InstrProfWriter into the OnDiskHashTable, even though we don't need to, and then carelessly leaking those copies. A const pointer is much better here. llvm-svn: 207009
* [yaml2obj][ELF] Remove unnecessary space between namespace name andSimon Atanasyan2014-04-231-1/+1
| | | | | | colons. llvm-svn: 207003
* [ASan] Move the shadow range on 32-bit iOS (and iOS Simulator)Alexander Potapenko2014-04-231-1/+4
| | | | | | | | to 0x40000000-0x60000000 to avoid address space clash with system libraries. The solution has been proposed by tahabekireren@gmail.com in https://code.google.com/p/address-sanitizer/issues/detail?id=210 This is also known to fix some Chromium iOS tests. llvm-svn: 207002
* Remove dead code in instcombine.Matt Arsenault2014-04-231-11/+2
| | | | | | | | | Don't replace shifts greater than the type with the maximum shift. This isn't hit anywhere in the tests, and somewhere else is replacing these with undef. llvm-svn: 207000
* X86AsmParser.cpp: Fix memory leak at replacing movsd to movsl.NAKAMURA Takumi2014-04-231-1/+3
| | | | llvm-svn: 206991
* cl::ParseCommandLineOptions(): Use StringRef to receive ↵NAKAMURA Takumi2014-04-231-1/+1
| | | | | | sys::path::filename() instead of std::string. llvm-svn: 206990
* Mark llvm/test/BugPoint/compile-custom.ll as XFAIL:vg_leak.NAKAMURA Takumi2014-04-231-0/+2
| | | | llvm-svn: 206989
* Centralize handling of ELF_Other_ThumbFunc.Rafael Espindola2014-04-231-3/+2
| | | | | | No functionality change. llvm-svn: 206988
* Fix handling of missing DataLayout in sanitizers.Evgeniy Stepanov2014-04-234-4/+4
| | | | | | | Pass::doInitialization is supposed to return False when it did not change the program, not when a fatal error occurs. llvm-svn: 206975
* Remove AssemblyAnnotationWriter from NamedMDNode::print.Rafael Espindola2014-04-232-4/+4
| | | | | | | | No functionality change, this parameter was always set to nullptr. Patch by Robert Matusewicz! llvm-svn: 206972
* Create MCTargetOptions.Evgeniy Stepanov2014-04-2326-67/+210
| | | | | | | | | For now it contains a single flag, SanitizeAddress, which enables AddressSanitizer instrumentation of inline assembly. Patch by Yuri Gorshenin. llvm-svn: 206971
* [yaml2obj][ELF] Add a virtual destructor to the ELFYAML::Section classSimon Atanasyan2014-04-232-0/+4
| | | | | | to prevent memory leaks. llvm-svn: 206969
* [LCG] Add the first round of mutation support to the lazy call graph.Chandler Carruth2014-04-233-0/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the core functionality necessary to remove an edge from the call graph and correctly update both the basic graph and the SCC structure. As part of that it has to run a tiny (in number of nodes) Tarjan-style DFS walk of an SCC being mutated to compute newly formed SCCs, etc. This is *very rough* and a WIP. I have a bunch of FIXMEs for code cleanup that will reduce the boilerplate in this change substantially. I also have a bunch of simplifications to various parts of both algorithms that I want to make, but first I'd like to have a more holistic picture. Ideally, I'd also like more testing. I'll probably add quite a few more unit tests as I go here to cover the various different aspects and corner cases of removing edges from the graph. Still, this is, so far, successfully updating the SCC graph in-place without disrupting the identity established for the existing SCCs even when we do challenging things like delete the critical edge that made an SCC cycle at all and have to reform things as a tree of smaller SCCs. Getting this to work is really critical for the new pass manager as it is going to associate significant state with the SCC instance and needs it to be stable. That is also the motivation behind the return of the newly formed SCCs. Eventually, I'll wire this all the way up to the public API so that the pass manager can use it to correctly re-enqueue newly formed SCCs into a fresh postorder traversal. llvm-svn: 206968
* [ARM64] Fix formatting.James Molloy2014-04-231-1/+1
| | | | llvm-svn: 206967
* [LCG] Implement Tarjan's algorithm correctly this time. We have to walkChandler Carruth2014-04-233-35/+101
| | | | | | | | | | | | up the stack finishing the exploration of each entries children before we're finished in addition to accounting for their low-links. Added a unittest that really hammers home the need for this with interlocking cycles that would each appear distinct otherwise and crash or compute the wrong result. As part of this, nuke a stale fixme and bring the rest of the implementation still more closely in line with the original algorithm. llvm-svn: 206966
* [ARM64] Add a big endian version of the ARM64 target machine, and update all ↵James Molloy2014-04-2314-44/+139
| | | | | | | | users. This completes the porting of r202024 (cpirker "Add AArch64 big endian Target (aarch64_be)") to ARM64. llvm-svn: 206965
* Fixing typos in commit r206957Alexey Volkov2014-04-231-2/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D3451 llvm-svn: 206960
* [LCG] Add some accessor methods to the SCC to allow iterating over theChandler Carruth2014-04-231-0/+14
| | | | | | | | | parents of an SCC, and add a lookup method for finding the SCC for a given function. These aren't used yet, but will be used shortly in some unit tests I'm adding and are really part of the broader intended interface for the analysis. llvm-svn: 206959
* [X86] Silvermont new scheduler modelAlexey Volkov2014-04-231-643/+203
| | | | | | | | | This model is not final and work is still in progress. However there are substantial improvements on integer tests mainly because of better RAL with new scheduler. Differential Revision: http://reviews.llvm.org/D3451 llvm-svn: 206957
* [LV] Statistics numbers for LoopVectorize introduced: a number of analyzed ↵Alexander Musman2014-04-232-0/+73
| | | | | | | | | | | loops & a number of vectorized loops. Use -stats to see how many loops were analyzed for possible vectorization and how many of them were actually vectorized. Patch by Zinovy Nis Differential Revision: http://reviews.llvm.org/D3438 llvm-svn: 206956
* [LCG] Add a unittest for the LazyCallGraph. I had a weak moment andChandler Carruth2014-04-234-4/+258
| | | | | | | | | | | | | | | | | | | | | | | | resisted this for too long. Just with the basic testing here I was able to exercise the analysis in more detail and sift out both type signature bugs in the API and a bug in the DFS numbering. All of these are fixed here as well. The unittests will be much more important for the mutation support where it is necessary to craft minimal mutations and then inspect the state of the graph. There is just no way to do that with a standard FileCheck test. However, unittesting these kinds of analyses is really quite easy, especially as they're designed with the new pass manager where there is essentially no infrastructure required to rig up the core logic and exercise it at an API level. As a minor aside about the DFS numbering bug, the DFS numbering used in LCG is a bit unusual. Rather than numbering from 0, we number from 1, and use 0 as the sentinel "unvisited" state. Other implementations often use '-1' for this, but I find it easier to deal with 0 and it shouldn't make any real difference provided someone doesn't write silly bugs like forgetting to actually initialize the DFS numbering. Oops. ;] llvm-svn: 206954
* X86Disassembler - fixed a bug in immediate printElena Demikhovsky2014-04-232-1/+5
| | | | llvm-svn: 206953
* Integrated assbemler, macros: added 'vararg' argument qualifier support.Stepan Dyatkovskiy2014-04-234-8/+96
| | | | | | Note, currently we have no 'vararg' support for darwin macros. llvm-svn: 206951
* [ARM64] Enable feature predicates for NEON / FP / CRYPTO.Kevin Qin2014-04-2326-204/+406
| | | | | | | | AArch64 has feature predicates for NEON, FP and CRYPTO instructions. This allows the compiler to generate code without using FP, NEON or CRYPTO instructions. llvm-svn: 206949
* [LCG] Hoist the logic for forming a new SCC from the top of the DFSStackChandler Carruth2014-04-232-41/+52
| | | | | | | into a helper function. I plan to re-use it for doing incremental DFS-based updates to the SCCs when we mutate the call graph. llvm-svn: 206948
* [LCG] Switch the Callee sets to be DenseMaps pointing to the index intoChandler Carruth2014-04-232-11/+13
| | | | | | | | | the Callee list. This is going to be quite important to prevent removal from going quadratic. No functionality changed at this point, this is one of the refactoring patches I've broken out of my initial work toward mutation updates of the call graph. llvm-svn: 206938
* Fix test/CodeGen/arm.llReid Kleckner2014-04-231-4/+4
| | | | | | | The 'CHECK: add' line was occasionally matching against the filename, breaking the subsequent CHECK-NOT. Also use CHECK-LABEL. llvm-svn: 206936
* Requisite reformatting for previous commit.David Blaikie2014-04-221-19/+16
| | | | llvm-svn: 206927
* Push memory ownership of DwarfUnits into clients of DwarfFile.David Blaikie2014-04-223-143/+150
| | | | | | | | | | | | This prompted me to push references through most of DwarfDebug. Sorry for the churn. Honestly it's a bit silly that we're passing around units all over the place like that anyway and I think it's mostly due to the DIE attribute adding utility functions being utilities in DwarfUnit. I should have another go at moving them out of DwarfUnit... llvm-svn: 206925
* [docs] Add a note to docs/README.txtSean Silva2014-04-221-0/+9
| | | | | | | | | Added note to docs/README.txt on how to check the reachibility of external links in the documentation. Patch by Dan Liew! llvm-svn: 206924
* Change the prototype for MCContext::FatalError() so it can be calledKevin Enderby2014-04-222-2/+2
| | | | | | | | | | from places like MCCodeEmitter() in the MC backend when the MCContext is const. I was going to use this in my change for r206669 but Jim convinced me to use an assert there. But this still is a good tweak. llvm-svn: 206923
* Use std::unique_ptr to handle ownership of DwarfUnits in DwarfFile.David Blaikie2014-04-222-26/+30
| | | | | | | So Chandler - how about those range algorithms? (would really love a dereferencing range adapter for this sort of stuff) llvm-svn: 206921
OpenPOWER on IntegriCloud