summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [LoopReroll] Alter the data structures used during reroll validation.James Molloy2015-01-291-159/+207
| | | | | | | | | | | | | | | The validation algorithm used an incremental approach, building each iteration's data structures temporarily, validating them, then adding them to a global set. This does not scale well to having multiple sets of Root nodes, as the set of instructions used in each iteration is the union over all the root nodes. Therefore, refactor the logic to create a single, simple container to which later logic then refers. This makes it simpler control-flow wise to make the creation of the container more complex with the addition of multiple root sets. llvm-svn: 227499
* [Hexagon] Organizing tests and adding a few missing jump instruction encodings.Colin LeMahieu2015-01-297-11/+101
| | | | llvm-svn: 227498
* [Hexagon] Adding missing instruction encodings and tests.Colin LeMahieu2015-01-294-43/+162
| | | | llvm-svn: 227495
* [Hexagon] Adding alu vector instructionsColin LeMahieu2015-01-293-3/+217
| | | | llvm-svn: 227493
* [GVN] don't propagate equality comparisons of FP zero (PR22376)Sanjay Patel2015-01-292-9/+52
| | | | | | | | | | | | | | In http://reviews.llvm.org/D6911, we allowed GVN to propagate FP equalities to allow some simple value range optimizations. But that introduced a bug when comparing to -0.0 or 0.0: these compare equal even though they are not bitwise identical. This patch disallows propagating zero constants in equality comparisons. Fixes: http://llvm.org/bugs/show_bug.cgi?id=22376 Differential Revision: http://reviews.llvm.org/D7257 llvm-svn: 227491
* All signal handlers are required to have C language linkage in C++. This ↵Aaron Ballman2015-01-291-1/+1
| | | | | | does not fix all signal handlers, but does fix the most recent one. llvm-svn: 227490
* Add missing test from r227488David Blaikie2015-01-291-0/+1
| | | | llvm-svn: 227489
* Matching ARM change for r227481: DebugInfo: Teach Fast ISel to respect the ↵David Blaikie2015-01-291-7/+7
| | | | | | debug location of comparisons in jumps. llvm-svn: 227488
* Refactor test to be reused across architecturesDavid Blaikie2015-01-292-3/+2
| | | | llvm-svn: 227487
* Remove erroneous REQUIRES: object-emission for asm test.David Blaikie2015-01-291-2/+0
| | | | llvm-svn: 227486
* Missing test case for r227481David Blaikie2015-01-291-0/+59
| | | | llvm-svn: 227485
* R600/SI: Implement enableAggressiveFMAFusionMatt Arsenault2015-01-293-1/+399
| | | | | | | | | Add tests for the various combines. This should always be at least cycle neutral on all subtargets for f64, and faster on some. For f32 we should prefer selecting v_mad_f32 over v_fma_f32. llvm-svn: 227484
* R600/SI: Add subtarget feature for if f32 fma is fastMatt Arsenault2015-01-295-5/+23
| | | | llvm-svn: 227483
* R600/SI: Fix tonga's basic scheduling modelMatt Arsenault2015-01-291-1/+1
| | | | llvm-svn: 227482
* DebugInfo: Teach Fast ISel to respect the debug location of comparisons in jumpsDavid Blaikie2015-01-291-9/+9
| | | | | | | | | The use of the DbgLoc in FastISel is probably something we should fix. It's prone to leaking the wrong location into instructions - we should have a clear chain of custody from the debug location of an IR Instruction to that of a MachineInstr to avoid such leakage. llvm-svn: 227481
* Disable compilation of llvm-pdbdump for versions of MSVC < 2013.Zachary Turner2015-01-291-1/+4
| | | | | | | | | Certain aspects of llvm-pdbdump require language support only present in MSVC 2013 and higher. Since this is strictly a utility, and since we hope to drop support for MSVC 2012 soon, don't build this unless MSVC 2013 or higher. llvm-svn: 227479
* [fuzzer] fix warning in a test Kostya Serebryany2015-01-291-2/+0
| | | | llvm-svn: 227478
* Compute the ELF SectionKind from the flags.Rafael Espindola2015-01-2921-393/+198
| | | | | | | | | | | | Any code creating an MCSectionELF knows ELF and already provides the flags. SectionKind is an abstraction used by common code that uses a plain MCSection. Use the flags to compute the SectionKind. This removes a lot of guessing and boilerplate from the MCSectionELF construction. llvm-svn: 227476
* [Hexagon] Deleting old variants of intrinsics and adding missing tests.Colin LeMahieu2015-01-296-196/+155
| | | | llvm-svn: 227474
* [lto] Disable dialog boxes on crash on Windows.Michael J. Spencer2015-01-291-0/+7
| | | | | | This has to be done in the DLL because the state doesn't cross DLL boundaries. llvm-svn: 227471
* [Support][Windows] Unify dialog box suppression and print stack traces on abort.Michael J. Spencer2015-01-293-20/+33
| | | | llvm-svn: 227470
* [fuzzer] minor cleanup based on reviews: remove redundant includes, fix a ↵Kostya Serebryany2015-01-293-4/+2
| | | | | | copy-pasto in tests llvm-svn: 227468
* [fuzzer] add FAQ section to the README.txt Kostya Serebryany2015-01-291-1/+43
| | | | llvm-svn: 227466
* Reverting r227452, which adds back the fuzzer library. Now excluding the ↵Aaron Ballman2015-01-2921-0/+903
| | | | | | fuzzer library based on LLVM_USE_SANITIZE_COVERAGE being set or unset. llvm-svn: 227464
* [Hexagon] Adding CR intrinsic tests.Colin LeMahieu2015-01-292-0/+102
| | | | llvm-svn: 227463
* R600/SI: Remove stray debug statementsTom Stellard2015-01-291-5/+1
| | | | llvm-svn: 227462
* R600/SI: Define a schedule model and enable the generic machine schedulerTom Stellard2015-01-2932-110/+185
| | | | | | The schedule model is not complete yet, and could be improved. llvm-svn: 227461
* [Hexagon] Deleting unused classes.Colin LeMahieu2015-01-291-1319/+0
| | | | llvm-svn: 227460
* Oops -- accidentally commit some debug code! Removing that code; NFC (this ↵Aaron Ballman2015-01-291-3/+1
| | | | | | time for real). llvm-svn: 227459
* [X86] Use single add/sub for large stack offsetsRobert Lougher2015-01-292-13/+105
| | | | | | | | | | | For large stack offsets the compiler generates multiple immediate mode sub/add instructions in the prologue/epilogue. This patch makes the compiler place the final amount to be added/subtracted into a register, which is then added/substracted with a single operation. Differential Revision: http://reviews.llvm.org/D7226 llvm-svn: 227458
* [Hexagon] Adding XTYPE/PRED intrinsic tests. Converting predicate types to ↵Colin LeMahieu2015-01-297-158/+393
| | | | | | i32 instead of i1. llvm-svn: 227457
* Attempting to fix a build issue with MSVC 2012; NFCAaron Ballman2015-01-291-3/+5
| | | | llvm-svn: 227456
* [PowerPC] Complete setting the baseline for ppc64leBill Schmidt2015-01-292-2/+10
| | | | | | | | | | | | Patch by Nemanja Ivanovic. As was uncovered by the failing test case (when run on non-PPC platforms), the feature set when compiling with -march=ppc64le was not being picked up. This change ensures that if the -mcpu option is not specified, the correct feature set is picked up regardless of whether we are on PPC or not. llvm-svn: 227455
* Temporarily reverting the fuzzer library as it causes too many build issues ↵Aaron Ballman2015-01-2921-901/+0
| | | | | | for MSVC users. This reverts: 227445, 227395, 227389, 227357, 227254, 227252 llvm-svn: 227452
* Make the test actually test what it's supposed to test. Add a test for the ↵Alex Rosenberg2015-01-291-0/+17
| | | | | | from memory variant of vcvtph2ps for 256-bit. llvm-svn: 227446
* Adding missing #includes to try to get this to compile on Windows with ↵Aaron Ballman2015-01-296-0/+6
| | | | | | Visual Studio. llvm-svn: 227445
* Remove unused tokens in the ll lexer.Sean Silva2015-01-292-3/+0
| | | | | | Patch by Robin Eklind! llvm-svn: 227442
* Use isMergeableConst now that it is sane.Rafael Espindola2015-01-291-3/+1
| | | | llvm-svn: 227441
* Remove MergeableConst.Rafael Espindola2015-01-293-6/+5
| | | | | | | Only the specific ones (MergeableConst4, MergeableConst8, MergeableConst16) are handled specially. llvm-svn: 227440
* [LoopReroll] Refactor most of reroll() into a helper classJames Molloy2015-01-291-220/+273
| | | | | | | | | reroll() was slightly monolithic and a pain to modify. Refactor a bunch of its state from local variables to member variables of a helper class, and do some trivial simplification while we're there. llvm-svn: 227439
* Cleanup a few tests on sse4a machines and FileCheckize along the way.Alex Rosenberg2015-01-296-9/+17
| | | | llvm-svn: 227437
* EHPrepare: Remove leftover initialization code for DomTrees.Benjamin Kramer2015-01-292-27/+10
| | | | | | While there modernize some loops. NFC. llvm-svn: 227436
* Use enum values. NFC.Rafael Espindola2015-01-291-3/+3
| | | | llvm-svn: 227435
* Don't create multiple mergeable sections with -fdata-sections.Rafael Espindola2015-01-292-12/+13
| | | | | | | | | | | | | | | | | | | | | ELF has support for sections that can be split into fixed size or null terminated entities. Since these sections can be split by the linker, it is not necessary to split them in codegen. This reduces the combined .o size in a llvm+clang build from 202,394,570 to 173,819,098 bytes. The time for linking clang with gold (on a VM, on a laptop) goes from 2.250089985 to 1.383001792 seconds. The flip side is the size of rodata in clang goes from 10,926,785 to 10,929,345 bytes. The increase seems to be because of http://sourceware.org/bugzilla/show_bug.cgi?id=17902. llvm-svn: 227431
* [Mips][Disassembler] When disassembler meets cache/pref instructions for r6 ↵Vladimir Medic2015-01-298-7/+31
| | | | | | it crashes as the access to operands array is out of range. This patch adds dedicated decoder method for R6 CACHE_HINT_DESC class that properly handles decoding of these instructions. llvm-svn: 227430
* Add a missing Tag_DIV_use test for Cortex-M7.Charlie Turner2015-01-291-0/+1
| | | | llvm-svn: 227429
* CommandLineParser: Avoid non-static member nitializer(s).NAKAMURA Takumi2015-01-291-2/+4
| | | | llvm-svn: 227428
* Fix the preprocessor checks used to determine if backtraces have been enabled.Owen Anderson2015-01-291-6/+6
| | | | llvm-svn: 227424
* Use the existing build configuration parameter ENABLE_BACKTRACE to compile ↵Owen Anderson2015-01-291-0/+16
| | | | | | | | | | out all pretty stack trace support when backtraces are disabled. This has the nice secondary effect of allowing LLVM to continue to build for targets without __thread or thread_local support to continue to work so long as they build without support for backtraces. llvm-svn: 227423
* [ELFYAML] Provide default value 0 for YAML relocation addendum fieldSimon Atanasyan2015-01-294-15/+1
| | | | | | Follow up to r227318. llvm-svn: 227422
OpenPOWER on IntegriCloud