summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Use StringRef in Pass Info/Support API (NFC)Mehdi Amini2016-10-011-1/+1
| | | | llvm-svn: 283008
* Use StringRef in CommandLine Options handling (NFC)Mehdi Amini2016-10-011-52/+54
| | | | llvm-svn: 283007
* Use StringRef in TLI instead of raw pointer (NFC)Mehdi Amini2016-10-011-15/+13
| | | | llvm-svn: 283005
* Use StringRef in Pass/PassManager APIs (NFC)Mehdi Amini2016-10-01204-358/+230
| | | | llvm-svn: 283004
* Revert "AMDGPU: Don't use offen if it is 0"Mehdi Amini2016-10-012-100/+14
| | | | | | | This reverts commit r282999. Tests are not passing: http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules/builds/20038 llvm-svn: 283003
* Remove getTargetTriple and update all uses to use the Triple offEric Christopher2016-10-011-8/+2
| | | | | | of the TargetMachine. NFC. llvm-svn: 283002
* Stop calling getTargetTriple off of the AsmPrinter and constructing aEric Christopher2016-10-011-2/+2
| | | | | | TargetTriple, just grab it off of the TargetMachine. NFC. llvm-svn: 283001
* Remove TargetTriple from AArch64MCInstLower as it's used in few placesEric Christopher2016-10-011-3/+4
| | | | | | and can be pulled from the TargetMachine. NFC. llvm-svn: 283000
* AMDGPU: Don't use offen if it is 0Matt Arsenault2016-10-012-14/+100
| | | | | | This removes many re-initializations of a base register to 0. llvm-svn: 282999
* Use StringRef in LTOCodegenerator (NFC)Mehdi Amini2016-10-011-4/+4
| | | | llvm-svn: 282998
* Use StringRef in LTOModule implementation (NFC)Mehdi Amini2016-10-012-26/+30
| | | | llvm-svn: 282997
* Use StringRef in Triple API (NFC)Mehdi Amini2016-10-011-7/+7
| | | | llvm-svn: 282996
* [libFuzzer] implement the -shrink=1 option that tires to make elements of ↵Kostya Serebryany2016-10-018-13/+51
| | | | | | the corpus smaller, off by default llvm-svn: 282995
* [MC] Prevent out of order HashDirective lexing in AsmLexer.Nirav Dave2016-10-011-26/+17
| | | | | | | | | | | | | | | | | To lex hash directives we peek ahead to find component tokens, create a unified token, and unlex the peeked tokens so the parser does not need to parse the tokens then. Make sure we do not to lex another hash directive during peek operation. This fixes PR28921. Reviewers: rnk, loladiro Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24839 llvm-svn: 282992
* [ASAN] Add the binder globals on Darwin to llvm.compiler.used to avoid LTO ↵Mehdi Amini2016-10-011-2/+34
| | | | | | | | | | | | | | | | dead-stripping The binder is in a specific section that "reverse" the edges in a regular dead-stripping: the binder is live as long as a global it references is live. This is a big hammer that prevents LLVM from dead-stripping these, while still allowing linker dead-stripping (with special knowledge of the section). Differential Revision: https://reviews.llvm.org/D24673 llvm-svn: 282988
* [libFuzzer] remove some experimental codeKostya Serebryany2016-09-302-21/+12
| | | | llvm-svn: 282983
* ScheduleDAGInstrs: Cleanup, use range based for; NFCMatthias Braun2016-09-301-61/+45
| | | | llvm-svn: 282979
* [libFuzzer] fix openssl fuzzer tests when running on a machine w/o openssl ↵Kostya Serebryany2016-09-302-2/+2
| | | | | | installed llvm-svn: 282972
* [libFuzzer] remove unused optionKostya Serebryany2016-09-307-20/+8
| | | | llvm-svn: 282971
* [SEH] Emit the parent frame offset label even if there are no funcletsReid Kleckner2016-09-301-19/+39
| | | | | | | | | This avoids errors about references to undefined local labels from unreferenced filter functions. Fixes (sort of) PR30431 llvm-svn: 282967
* [AArch64][RegisterBankInfo] Use the helper functions for the checksQuentin Colombet2016-09-301-29/+26
| | | | | | | | This makes sure the helper functions work as expected. NFC. llvm-svn: 282961
* [AArch64][RegisterBankInfo] Rename getValueMappingIdx to getValueMappingQuentin Colombet2016-09-302-9/+11
| | | | | | | | We don't return index, we return the actual ValueMapping. NFC. llvm-svn: 282960
* [AArch64][RegisterBankInfo] Compress the ValueMapping table a bit.Quentin Colombet2016-09-302-46/+38
| | | | | | | | | | We don't need to have singleton ValueMapping on their own, we can just reuse one of the elements of the 3-ops mapping. This allows even more code sharing. NFC. llvm-svn: 282959
* [AArch64][RegisterBankInfo] Refactor the code to access AArch64::ValMappingQuentin Colombet2016-09-302-24/+23
| | | | | | | | | Use a helper function to access ValMapping. This should make the code easier to understand and maintain. NFC. llvm-svn: 282958
* [AArch64][RegisterBankInfo] Rename getRegBankIdx to getRegBankIdxOffsetQuentin Colombet2016-09-302-17/+22
| | | | | | | | | The function name did not make it clear that the returned value was an offset to apply to a register bank index. NFC. llvm-svn: 282957
* [AArch64][RegisterBankInfo] Use the static opds mapping for alt mappingsQuentin Colombet2016-09-301-14/+7
| | | | | | | | Avoid to rely on the dynamically allocated operands mapping for the alternative mapping. NFC. llvm-svn: 282956
* [libFuzzer] move common parts of shell scripts into a separate fileKostya Serebryany2016-09-309-68/+58
| | | | llvm-svn: 282954
* NFC Add constPiotr Padlewski2016-09-301-3/+3
| | | | llvm-svn: 282952
* NFC fix doxygen commentsPiotr Padlewski2016-09-302-25/+25
| | | | llvm-svn: 282950
* Do not pass a superblock to PDBFileBuilder.Rui Ueyama2016-09-302-11/+6
| | | | | | | | | | | | | | | | | | | | | When we create a PDB file using PDBFileBuilder, the information in the superblock, such as the size of the resulting file, is not available. Previously, PDBFileBuilder::initialize took a superblock assuming that all the members of the struct are correct. That is useful when you want to restore the exact information from a YAML file, but that's probably the only use case in which that is useful. When we are creating a PDB file on the fly, we have to backfill the members. This patch redefines PDBFileBuilder::initialize to take only a block size. Now all the other members are left as default values, so that they'll be updated when commit() is called. Differential Revision: https://reviews.llvm.org/D25108 llvm-svn: 282944
* Pass a filename instead of a msf::WritableStream to PDBFileBuilder::commit.Rui Ueyama2016-09-301-3/+11
| | | | | | | | | | | | | | | WritableStream needs the exact file size to open a file, but until we fix the final layout of a PDB file, we don't know the size of the file. This patch changes the parameter type of PDBFileBuilder::commit to solve that chiecken-and-egg problem. Now the function opens a file after fixing the layout, so it can create a file with the exact size. Differential Revision: https://reviews.llvm.org/D25107 llvm-svn: 282940
* Deal with the (historic) MAP_ANONYMOUS vs MAP_ANON directly by using CPPJoerg Sonnenberger2016-09-301-2/+2
| | | | | | to check for the former, don't depend on (dangling) HAVE_MMAP_ANONYMOUS. llvm-svn: 282925
* Retire NEED_DEV_ZERO_FOR_MMAP. It should be needed only on outdatedJoerg Sonnenberger2016-09-301-16/+0
| | | | | | | systems. It wasn't even hooked up in cmake, so problems on such systems would be visible with 3.9 release already. llvm-svn: 282924
* X86: Allow conditional tail calls in Win64 "leaf" functions (PR26302)Hans Wennborg2016-09-302-6/+6
| | | | | | | | | | | We can't use Jcc to leave a Win64 function in general, because that confuses the unwinder. However, for "leaf" functions, that is, functions where the return address is always on top of the stack and which don't have unwind info, it's OK. Differential Revision: https://reviews.llvm.org/D24836 llvm-svn: 282920
* Turn ENABLE_CRASH_OVERRIDES into a 0/1 definition.Joerg Sonnenberger2016-09-301-1/+1
| | | | llvm-svn: 282919
* Convert ENABLE_BACKTRACES into a 0/1 definition.Joerg Sonnenberger2016-09-302-12/+12
| | | | llvm-svn: 282918
* [InstCombine] allow non-splat folds of select cond (ext X), CSanjay Patel2016-09-302-40/+34
| | | | llvm-svn: 282906
* [Coroutines] Part15c: Fix coro-split to correctly handle definitions between ↵Gor Nishanov2016-09-301-22/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | coro.save and coro.suspend Summary: In the case below, %Result.i19 is defined between coro.save and coro.suspend and used after coro.suspend. We need to correctly place such a value into the coroutine frame. ``` %save = call token @llvm.coro.save(i8* null) %Result.i19 = getelementptr inbounds %"struct.lean_future<int>::Awaiter", %"struct.lean_future<int>::Awaiter"* %ref.tmp7, i64 0, i32 0 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false) switch i8 %suspend, label %exit [ i8 0, label %await.ready i8 1, label %exit ] await.ready: %val = load i32, i32* %Result.i19 ``` Reviewers: majnemer Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D24418 llvm-svn: 282902
* [Coroutines] Part15b: Fix dbg information handling in coro-split.Gor Nishanov2016-09-302-6/+13
| | | | | | | | | | | | | | | Summary: Without the fix, if there was a function inlined into the coroutine with debug information, CloneFunctionInto(NewF, &F, VMap, /*ModuleLevelChanges=*/true, Returns); would duplicate all of the debug information including the DICompileUnit. We know use VMap to indicate that debug metadata for a File, Unit and FunctionType should not be duplicated when we creating clones that will become f.resume, f.destroy and f.cleanup. Reviewers: majnemer Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D24417 llvm-svn: 282899
* [Coroutines] Part 15a: Lower coro.subfn.addr in CoroCleanupGor Nishanov2016-09-302-3/+26
| | | | | | | | | | | | Summary: Not all coro.subfn.addr intrinsics can be eliminated in CoroElide through devirtualization. Those that remain need to be lowered in CoroCleanup. Reviewers: majnemer Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D24412 llvm-svn: 282897
* Update loop unroller cost model to make sure debug info does not affect ↵Dehao Chen2016-09-301-0/+3
| | | | | | | | | | | | | | optimization decisions. Summary: Debug info should *not* affect optimization decisions. This patch updates loop unroller cost model to make it not affected by debug info. Reviewers: davidxl, mzolotukhin Subscribers: haicheng, llvm-commits, mzolotukhin Differential Revision: https://reviews.llvm.org/D25098 llvm-svn: 282894
* [libFuzzer] add a fuzzer test that finds CVE-2015-3193Kostya Serebryany2016-09-303-0/+184
| | | | llvm-svn: 282892
* [WebAssembly] Make register stackification more conservativeDerek Schuff2016-09-301-19/+15
| | | | | | | | | | | | Register stackification currently checks VNInfo for changes. Make that more accurate by testing each intervening instruction for any other defs to the same virtual register. Patch by Jacob Gravelle Differential Revision: https://reviews.llvm.org/D24942 llvm-svn: 282886
* [Object] Define Archive::isEmpty().Rui Ueyama2016-09-301-1/+4
| | | | llvm-svn: 282884
* [asan] Support dynamic shadow address instrumentationEtienne Bergeron2016-09-301-7/+50
| | | | | | | | | | | | | | | | | | | Summary: This patch is adding the support for a shadow memory with dynamically allocated address range. The compiler-rt needs to export a symbol containing the shadow memory range. This is required to support ASAN on windows 64-bits. Reviewers: kcc, rnk, vitalybuka Subscribers: zaks.anna, kubabrecka, dberris, llvm-commits, chrisha Differential Revision: https://reviews.llvm.org/D23354 llvm-svn: 282881
* [AMDGPU] Choose VMCNT, EXPCNT, LGKMCNT masks and shifts based on the isa versionKonstantin Zhuravlyov2016-09-305-16/+69
| | | | | | Differential Revision: https://reviews.llvm.org/D24973 llvm-svn: 282877
* [AMDGPU] Ask subtarget if waitcnt instruction is needed before barrier ↵Konstantin Zhuravlyov2016-09-302-2/+9
| | | | | | | | instruction Differential Revision: https://reviews.llvm.org/D24985 llvm-svn: 282875
* [AMDGPU] Do not run scalar optimization passes at "-O0"Konstantin Zhuravlyov2016-09-301-2/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D25055 llvm-svn: 282873
* CVP. Turn marking adds as no wrap on by default (was turned off by 279082)Artur Pilipenko2016-09-301-1/+1
| | | | | | With 282650 in tree extra no wrap on adds doesn't cause regressions anymore. Reenable the optimzation. llvm-svn: 282872
* [LV] Build all scalar steps for non-uniform induction variablesMatthew Simpson2016-09-301-14/+3
| | | | | | | | | | | | | | | | When building the steps for scalar induction variables, we previously attempted to determine if all the scalar users of the induction variable were uniform. If they were, we would only emit the step corresponding to vector lane zero. This optimization was too aggressive. We generally don't know the entire set of induction variable users that will be scalar. We have isScalarAfterVectorization, but this is only a conservative estimate of the instructions that will be scalarized. Thus, an induction variable may have scalar users that aren't already known to be scalar. To avoid emitting unused steps, we can only check that the induction variable is uniform. This should fix PR30542. Reference: https://llvm.org/bugs/show_bug.cgi?id=30542 llvm-svn: 282863
OpenPOWER on IntegriCloud