summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* iOS doesn't have crt_externs.h available, so we fall back to the posix method.Chris Bieneman2015-01-301-2/+5
| | | | llvm-svn: 227521
* x86: Remove unused variables not caught by MSVC =PReid Kleckner2015-01-302-3/+0
| | | | llvm-svn: 227520
* x86: Fix large model calls to __chkstk for dynamic allocasReid Kleckner2015-01-293-84/+64
| | | | | | | | | | | | In the large code model, we now put __chkstk in %r11 before calling it. Refactor the code so that we only do this once. Simplify things by using __chkstk_ms instead of __chkstk on cygming. We already use that symbol in the prolog emission, and it simplifies our logic. Second half of PR18582. llvm-svn: 227519
* Remove unnecessary calls to getSubtarget/getSubtargetImpl from theEric Christopher2015-01-292-10/+3
| | | | | | MSP430 backend. llvm-svn: 227517
* Remove unused header.Eric Christopher2015-01-291-1/+0
| | | | llvm-svn: 227516
* Change SmallVector param to the more general ArrayRef; NFCISanjay Patel2015-01-291-1/+1
| | | | llvm-svn: 227514
* Get rid of a few calls through the subtarget to get the ABIEric Christopher2015-01-293-15/+15
| | | | | | that's actually sitting on the target machine. llvm-svn: 227513
* Remove most of the TargetMachine::getSubtarget/getSubtargetImplEric Christopher2015-01-2920-309/+196
| | | | | | | | | calls that don't take a Function argument from Mips. Notable exceptions: the AsmPrinter and MipsTargetObjectFile. The latter needs to be fixed, and the former will be fixed when the general AsmPrinter changes happen. llvm-svn: 227512
* x86: Remove the W64ALLOCA pseudoReid Kleckner2015-01-293-15/+3
| | | | | | | | | This is just an alias for CALL64pcrel32, and we can just use that opcode with explicit defs in the MI. No functionality change. llvm-svn: 227508
* [fuzzer] add -use_full_coverage_set=1 which solves FullCoverageSetTest. This ↵Kostya Serebryany2015-01-298-2/+52
| | | | | | does not scale very well yet, but might be a good start. llvm-svn: 227507
* [AArch64] Add INITIALIZE_PASS macros to AArch64A57FPLoadBalancing.Chad Rosier2015-01-291-1/+15
| | | | | | | | | | These are needed so this pass will produce output when e.g. -print-after-all is used. Phabricator Review: http://reviews.llvm.org/D7264 Patch by Geoff Berry <gberry@codeaurora.org>! llvm-svn: 227506
* Update comments to use unreachable instead of llvm.trap, as implemented nowReid Kleckner2015-01-293-12/+30
| | | | | | | | | | | | | win64: Call __chkstk through a register with the large code model Fixes half of PR18582. True dynamic allocas will still have a CALL64pcrel32 which will fail. Reviewers: majnemer Differential Revision: http://reviews.llvm.org/D7267 llvm-svn: 227503
* Update comments to use unreachable instead of llvm.trap, as implemented nowReid Kleckner2015-01-291-1/+1
| | | | llvm-svn: 227502
* [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-292-1/+33
| | | | llvm-svn: 227498
* [Hexagon] Adding missing instruction encodings and tests.Colin LeMahieu2015-01-292-37/+24
| | | | llvm-svn: 227495
* [Hexagon] Adding alu vector instructionsColin LeMahieu2015-01-292-3/+177
| | | | llvm-svn: 227493
* [GVN] don't propagate equality comparisons of FP zero (PR22376)Sanjay Patel2015-01-291-3/+10
| | | | | | | | | | | | | | 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
* 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
* R600/SI: Implement enableAggressiveFMAFusionMatt Arsenault2015-01-292-1/+31
| | | | | | | | | 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
* [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-2919-386/+195
| | | | | | | | | | | | 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-293-186/+60
| | | | llvm-svn: 227474
* [Support][Windows] Unify dialog box suppression and print stack traces on abort.Michael J. Spencer2015-01-292-20/+30
| | | | 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-291-0/+26
| | | | 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-294-6/+94
| | | | | | 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
* [X86] Use single add/sub for large stack offsetsRobert Lougher2015-01-291-13/+46
| | | | | | | | | | | 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-293-0/+30
| | | | | | i32 instead of i1. llvm-svn: 227457
* [PowerPC] Complete setting the baseline for ppc64leBill Schmidt2015-01-291-2/+7
| | | | | | | | | | | | 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
* 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-292-2/+3
| | | | | | | 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
* 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-291-9/+10
| | | | | | | | | | | | | | | | | | | | | 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-292-0/+23
| | | | | | 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
* 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
OpenPOWER on IntegriCloud