summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Refactor: Simplify boolean expressions in ARM targetAlexander Kornienko2015-04-142-28/+25
| | | | | | | | | | Simplify boolean expressions using `true` and `false` with `clang-tidy` http://reviews.llvm.org/D8524 Patch by Richard Thomson! llvm-svn: 234901
* Change the testcase mtriple to x86_64-unknown-unknownKrzysztof Parzyszek2015-04-141-1/+1
| | | | llvm-svn: 234900
* Fix MSVC build.Rafael Espindola2015-04-141-1/+2
| | | | llvm-svn: 234899
* The code that originally made me discover this is:Daniel Jasper2015-04-144-3/+39
| | | | | | | | | | | | | | | | | | if ((a & 0x1) == 0x1) { .. } In this case we don't actually have any branch probability information and should not assume to have any. LLVM transforms this into: %and = and i32 %a, 1 %tobool = icmp eq i32 %and, 0 So, in this case, the result of a bitwise and is compared against 0, but nevertheless, we should not assume to have probability information. llvm-svn: 234898
* Use raw_pwrite_stream in clang.Rafael Espindola2015-04-1411-63/+85
| | | | | | This is a small improvement to -emit-pth and allows llvm to start requiring it. llvm-svn: 234897
* [AArch64] Allow non-standard INS/DUP encodingsBradley Smith2015-04-143-10/+47
| | | | | | | | | | The ARMv8 ARMARM states that for these instructions in A64 state: "Unspecified bits in "imm5" are ignored but should be set to zero by an assembler.", (imm4 for INS). Make the disassembler accept any encoding with these ignored bits set to 1. llvm-svn: 234896
* Add raw_pwrite_stream type.Rafael Espindola2015-04-144-5/+89
| | | | | | | This is a raw_ostream that also supports pwrite. I will be used in a sec. llvm-svn: 234895
* R600: Add GCC reg namesTom Stellard2015-04-141-4/+60
| | | | llvm-svn: 234892
* R600/SI: Fix verifier error caused by SIAnnotateControlFlowTom Stellard2015-04-142-6/+38
| | | | | | | | | | | | | | This pass will always try to insert llvm.SI.ifbreak intrinsics in the same block that its conditional value is computed in. This is a problem when conditions for breaks or continue are computed outside of the loop, because the llvm.SI.ifbreak intrinsic ends up being inserted outside of the loop. This patch fixes this problem by inserting the llvm.SI.ifbreak intrinsics in the loop header when the condition is computed outside the loop. llvm-svn: 234891
* Fixing a compile error with MSVC 2013 where there is no conversion from ↵Aaron Ballman2015-04-141-1/+1
| | | | | | DISubprogram to DIScope directly. llvm-svn: 234890
* [analyzer] This implements potential undefbehavior.ZeroAllocDereference checker.Anton Yartsev2015-04-145-12/+302
| | | | | TODO: support realloc(). Currently it is not possible due to the present realloc() handling. Currently RegionState is not being attached to realloc() in case of a zero Size argument. llvm-svn: 234889
* Fix handling of the executable arg which contains spaces (MI)Ilia K2015-04-142-6/+6
| | | | | | | | | | | | | | * Don't use the CMICmdArgValFile::GetFileNamePath for the CMIDriver::m_strCmdLineArgExecuteableFileNamePath because it wraps path with spaces into quotes what is already being done in CMIDriver::LocalDebugSessionStartupExecuteCommands * Improve the MiSyntaxTestCase.test_lldbmi_specialchars test to catch this error ``` $ bin/lldb-mi "~/p/ hello" (gdb) -file-exec-and-symbols "\"~/p/ hello\"" ^error,msg="Command 'file-exec-and-symbols'. Target binary '\"~/p/ hello\"' is invalid. error: unable to find executable for '/"~/p/ hello/"'" ``` llvm-svn: 234888
* Error out of ParseBitcodeInto(Module*) if we haven't read a ModuleFilipe Cabecinhas2015-04-143-2/+11
| | | | | | | | | | | | | | | | | | | | | | Summary: Without this check the following case failed: Skip a SubBlock which is not a MODULE_BLOCK_ID nor a BLOCKINFO_BLOCK_ID Got to end of file TheModule would still be == nullptr, and we would subsequentially fail when materializing the Module (assert at the start of BitcodeReader::MaterializeModule). Bug found with AFL. Reviewers: dexonsmith, rafael Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9014 llvm-svn: 234887
* Qualify an internal call in is_assignable to prevent ADL lookup, which would ↵Marshall Clow2015-04-142-1/+7
| | | | | | 'complete' an type definition unnecessarily. Thanks to Richard Smith for the report. llvm-svn: 234886
* Simplify some lldb-mi tests by using the Base.addTearDownHook()Ilia K2015-04-142-57/+43
| | | | llvm-svn: 234885
* Silencing a -Wreturn-type warning, as the switch is fully-covered; NFC.Aaron Ballman2015-04-141-0/+1
| | | | llvm-svn: 234884
* Re-enable target-specific relocation table sorting and use it for MipsPetar Jovanovic2015-04-146-32/+344
| | | | | | | | | | | | | | Some targets (ie. Mips) have additional rules for ordering the relocation table entries. Allow them to override generic sortRelocs(), which sorts entries by Offset. Then override this function for Mips, to emit HI16 and GOT16 relocations against the local symbol in pair with the corresponding LO16 relocation. Patch by Vladimir Stefanovic. Differential Revision: http://reviews.llvm.org/D7414 llvm-svn: 234883
* [Mips] Generate warning for invalid '-mnan' and '-march' combinationsPetar Jovanovic2015-04-148-9/+82
| | | | | | | | | | | | This patch generates a warning for invalid combination of '-mnan' and '-march' options, it properly sets NaN encoding for a given '-march', and it passes a proper NaN encoding to the assembler. Patch by Vladimir Radosavljevic. Differential Revision: http://reviews.llvm.org/D8170 llvm-svn: 234882
* Remove useless statement.Nikola Smiljanic2015-04-141-1/+0
| | | | llvm-svn: 234881
* [MachineLICM] Use newer model of register pressure sets.Daniel Jasper2015-04-141-43/+32
| | | | | | | | | | | | | | | | TargetRegisterInfo::getRegPressureLimit has a note that it is an old model that relies on manually entered classes. Using the newer model of register pressure sets seems more appropriate. We might eventually even switch to lib/CodeGen/RegisterPressure.cpp, but we should probably do incremental changes here. Using the newer model also makes it easier to take regmasks into account which is necessary to fix llvm.org/PR23143. I am currently also preparing a patch for that, but would like to do this switch independently. Review: http://reviews.llvm.org/D8986 llvm-svn: 234880
* Roll back llvm/test/ExecutionEngine/MCJIT/cross-module-sm-pic-a.ll, possibly ↵NAKAMURA Takumi2015-04-141-1/+0
| | | | | | | | wrong commit. It reverts part of r234839, "[RuntimeDyldELF] Improve GOT support". llvm-svn: 234879
* tsan: fix parsing of second_deadlock_stack flagDmitry Vyukov2015-04-142-1/+5
| | | | | | | It was broken during flag parsing refactoring. Enable test for the flag. llvm-svn: 234878
* Fix XCode build after r234870.Oleksiy Vyalov2015-04-141-0/+46
| | | | llvm-svn: 234877
* [ARM] Implement mapping symbols for PLT0 entryDenis Protivensky2015-04-142-27/+36
| | | | llvm-svn: 234876
* Fix crash in DebugInfoFinder when adding a module with forward declared ↵Anders Waldenborg2015-04-142-1/+43
| | | | | | | | | | | | | | | composite type The testcase that is included in the patch caused a crash when doing DebugInfoFinder::processModule on the module due to DCT->getElements() returning nullptr in DebugInfoFinder::processType. By doing "DCT->getElements()" instead of "DCT->getElements()->operands()" one gets a DIArray instead of a raw MDTuple. The former has code to handle null as a 0-element array and therefore avoids the crash. Differential Revision: http://reviews.llvm.org/D9008 llvm-svn: 234875
* [ARM] Move out mapping atom functionality to a separate classDenis Protivensky2015-04-141-46/+36
| | | | llvm-svn: 234874
* [ARM] Rename IFUNC-related testsDenis Protivensky2015-04-142-0/+0
| | | | llvm-svn: 234873
* [ARM] Improve IFUNC PLT testDenis Protivensky2015-04-141-4/+4
| | | | llvm-svn: 234872
* Additions to RenderScriptRuntime in prep for detection of RenderScript ↵Colin Riley2015-04-142-9/+108
| | | | | | | | modules and moving of the command interpreter manipulation to after construction. Differential Revision: http://reviews.llvm.org/D9001 llvm-svn: 234871
* Adds Register Context Linux/POSIX for ARM Architecture Omair Javaid2015-04-1420-0/+2302
| | | | | | | | This patch is major step towards supporting lldb on ARM. This adds all the required bits to support register manipulation on Linux Arm. Also adds utility enumerations, definitions and register context classes for arm. llvm-svn: 234870
* Simplify short switch-cases.Rui Ueyama2015-04-141-12/+2
| | | | llvm-svn: 234869
* Remove excessive parentheses.Rui Ueyama2015-04-141-3/+3
| | | | llvm-svn: 234868
* ELF: Remove a header which is used only by one .cpp file.Rui Ueyama2015-04-142-50/+28
| | | | | | | The data and the inline function defined in the header is used only by HexagonRelocationHandler.cpp. llvm-svn: 234867
* Fix indentation.Rui Ueyama2015-04-141-6/+4
| | | | llvm-svn: 234866
* ELF: Fix odd initialization code.Rui Ueyama2015-04-141-6/+4
| | | | llvm-svn: 234865
* temporaryRui Ueyama2015-04-141-4/+3
| | | | llvm-svn: 234864
* ELF: Move function definitions from .h to .cpp.Rui Ueyama2015-04-144-76/+87
| | | | llvm-svn: 234863
* ELF: Inline ELFReader typedefs which are used only once.Rui Ueyama2015-04-146-30/+12
| | | | llvm-svn: 234862
* ELF: Make common strings file-scoped constants.Rui Ueyama2015-04-141-12/+15
| | | | llvm-svn: 234861
* ELF: Make ARMELFMappingAtom a non-template class.Rui Ueyama2015-04-141-13/+18
| | | | llvm-svn: 234860
* ELF: Remove this-> as much as we can.Rui Ueyama2015-04-147-39/+38
| | | | | | | These this-> are there because their classes were templated. They are no longer templated. llvm-svn: 234859
* ELF: Remove ELFT parameter from ARMELFFile.Rui Ueyama2015-04-142-36/+32
| | | | llvm-svn: 234858
* ELF: Make HexagonFile a non-template class.Rui Ueyama2015-04-143-37/+34
| | | | llvm-svn: 234857
* [OPENMP] Fixed codegen for arrays in 'copyprivate' clause.Alexey Bataev2015-04-147-159/+222
| | | | | | | Fixed a bug with codegen of variables with array types specified in 'copyprivate' clause of 'single' directive. Differential Revision: http://reviews.llvm.org/D8914 llvm-svn: 234856
* Simplify n-ary adds by reassociationJingyue Wu2015-04-147-0/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This transformation reassociates a n-ary add so that the add can partially reuse existing instructions. For example, this pass can simplify void foo(int a, int b) { bar(a + b); bar((a + 2) + b); } to void foo(int a, int b) { int t = a + b; bar(t); bar(t + 2); } saving one add instruction. Fixes PR22357 (https://llvm.org/bugs/show_bug.cgi?id=22357). Test Plan: nary-add.ll Reviewers: broune, dberlin, hfinkel, meheff, sanjoy, atrick Reviewed By: sanjoy, atrick Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8950 llvm-svn: 234855
* Remove dead code.Rui Ueyama2015-04-142-10/+0
| | | | llvm-svn: 234854
* ELF: Remove ELFT and LinkingContext template parameters from ELFReader.Rui Ueyama2015-04-1427-70/+165
| | | | | | | | | | | | | | | | | | | Previously, ELFReader takes three template arguments: EFLT, LinkingContextT and FileT. FileT is itself templated. So it was a bit complicated. Maybe too much. Most architectures don't actually need to be parameterized for ELFT. For example, x86 is always ELF32LE and x86-64 is ELF64LE. However, because ELFReader requires a ELFT argument, we needed to parameterize a class even if not needed. This patch removes the parameter from the class. So now we can de-templatize such classes (I didn't do that in this patch, though). This patch also removes ContextT parameter since it didn't have to be passed as a template argument. llvm-svn: 234853
* DebugInfo: Update signature of DICompileUnit::replace*()Duncan P. N. Exon Smith2015-04-144-16/+8
| | | | | | | | Change `DICompileUnit::replaceSubprograms()` and `DICompileUnit::replaceGlobalVariables()` to match the `MDCompileUnit` equivalents that they're wrapping. llvm-svn: 234852
* LinkAllPasses.h: also link in parts of libLLVMSupportDmitri Gribenko2015-04-141-0/+4
| | | | | | | | When a loadable (.so or .dylib) pass is built with assertions enabled and loaded into the 'opt' tool, we need to ensure that the extra symbols that such passes depend on are linked into the tool. llvm-svn: 234851
* DebugInfo: Gut DISubprogram and DILexicalBlock*Duncan P. N. Exon Smith2015-04-1423-198/+140
| | | | | | | Gut the `DIDescriptor` wrappers around `MDLocalScope` subclasses. Note that `DILexicalBlock` wraps `MDLexicalBlockBase`, not `MDLexicalBlock`. llvm-svn: 234850
OpenPOWER on IntegriCloud