summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Docs: update va_arg example with valid x86_64 va_list type.Tim Northover2014-11-021-3/+10
| | | | | | | | | The given example was overflowing its alloca and segfaulting if actually run on x86, so it's a good idea to provide something that works there too. Patch by Ramkumar Ramachandra. llvm-svn: 221077
* Drop DwarfCompileUnit::getLocalLabel* in favor of just mapping through the ↵David Blaikie2014-11-022-17/+5
| | | | | | | | | skeleton explicitly. Confusing to do this two different ways - I'm not too wedded to either one, but here goes. llvm-svn: 221076
* Sink DwarfUnit::LabelBegin down into DwarfCompileUnit since that's the only ↵David Blaikie2014-11-023-10/+10
| | | | | | place it's needed. llvm-svn: 221075
* Update test to use llvm-readobj. NFC.Rafael Espindola2014-11-021-29/+9
| | | | llvm-svn: 221074
* Update for LLVM API change in r221024Ed Maste2014-11-022-2/+2
| | | | llvm-svn: 221073
* Sink dwarf unit length emission down into DwarfUnit::emitHeaderDavid Blaikie2014-11-014-7/+14
| | | | | | | | This allows the CU label to be emitted only for compile units, as they're the only ones that need it (so they can be referenced from pubnames) llvm-svn: 221072
* Test 221067 in a fixed-target test so as not to fail on targets with ↵David Blaikie2014-11-011-0/+1
| | | | | | different DWARF encodings llvm-svn: 221071
* Fix the build of the gold plugin.Rafael Espindola2014-11-011-1/+0
| | | | | | I did the previous patch on OS X and didn't noticed the issue. llvm-svn: 221070
* InstCombine: Don't assume that m_ZExt matches an InstructionDavid Majnemer2014-11-013-2/+17
| | | | | | | | | | | | m_ZExt might bind against a ConstantExpr instead of an Instruction. Assuming this, using cast<Instruction>, results in InstCombine crashing. Instead, introduce ZExtOperator to bridge both Instruction and ConstantExpr ZExts. This fixes PR21445. llvm-svn: 221069
* Remove test coverage added in 221067 due to it being non-portable.David Blaikie2014-11-011-1/+1
| | | | | | | Will try to find a portable way to test this (or a fixed-target test I can add such coverage to) shortly. llvm-svn: 221068
* Remove DwarfUnit::LabelEnd in favor of computing the length of the section ↵David Blaikie2014-11-017-15/+8
| | | | | | | | | | directly This was a compile-unit specific label (unused in type units) and seems unnecessary anyway when we can more easily directly compute the size of the compile unit. llvm-svn: 221067
* Add _lzcnt_u32 and _lzcnt_u64 to lzcntintrin.h to match Intel documentation ↵Craig Topper2014-11-012-0/+24
| | | | | | names for these intrinsics. llvm-svn: 221066
* Avoid undefined behavior in the x86 bmi header file by explicitly checking ↵Craig Topper2014-11-011-3/+3
| | | | | | for 0 before calling __builtin_ctz. Without this the optimizers may take advantage of the undefined behavior and produce incorrect results. LLVM itself still needs to be taught to merge the zero check into the llvm.cttz with defined zero behavior. llvm-svn: 221065
* Avoid undefined behavior in the x86 lzcnt header file by explicitly checking ↵Craig Topper2014-11-011-3/+3
| | | | | | for 0 before calling __builtin_clz. Without this the optimizers may take advantage of the undefined behavior and produce incorrect results. LLVM itself still needs to be taught to merge the zero check into the llvm.ctlz with defined zero behavior. llvm-svn: 221064
* Use kern.proc.auxv to get the aux dataJustin Hibbits2014-11-011-80/+7
| | | | | | | | | | | | | | | | | Summary: Instead of using a homegrown solution to get the auxv from a process, instead use the OS-provided sysctl to get the needed data. This allows the same code to be used for both 32-bit and 64-bit processes on a 64-bit host. Reviewers: emaste Reviewed By: emaste Subscribers: emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D6071 llvm-svn: 221063
* Sink DwarfUnit::SectionSym into DwarfCompileUnit as it's only needed/used there.David Blaikie2014-11-014-40/+28
| | | | llvm-svn: 221062
* Renamed CCState members that appear to misspell 'Processed' as 'Proceed'. NFC.Daniel Sanders2014-11-013-15/+15
| | | | | | | | | | | | Reviewers: rnk Reviewed By: rnk Subscribers: rnk, llvm-commits Differential Revision: http://reviews.llvm.org/D5978 llvm-svn: 221061
* Make DwarfCompileUnit::Skeleton more narrowly typed (DwarfCompileUnit* ↵David Blaikie2014-11-011-3/+3
| | | | | | instead of DwarfUnit*) now that it's specific to DwarfCompileUnit anyway. llvm-svn: 221060
* [mips] Move all ByVal handling into CCState and tablegen-erated code. NFC.Daniel Sanders2014-11-0110-148/+157
| | | | | | | | | | | | | | | | | Summary: CCState already contains a byval implementation that is very similar to the Mips custom code. This patch merges the custom code into the existing common code and tablegen-erated code. Reviewers: vmedic Reviewed By: vmedic Subscribers: rnk, llvm-commits Differential Revision: http://reviews.llvm.org/D5977 llvm-svn: 221059
* [mips] Fix unused variable warning introduced in r221056Daniel Sanders2014-11-011-1/+0
| | | | llvm-svn: 221058
* [mips] Remove ByValArgInfo::Address in favour of ↵Daniel Sanders2014-11-012-28/+26
| | | | | | | | | | | | | | | | CCValAssign::getMemLocOffset(). NFC. Summary: ByValArgInfo is practically the same as CCState::ByValInfo now. Reviewers: vmedic Reviewed By: vmedic Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5976 llvm-svn: 221057
* [mips] Move F128 argument handling into MipsCCState as we did for returns. NFC.Daniel Sanders2014-11-013-27/+90
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: There are a couple more changes to make before analyzeFormalArguments can be merged into the standard AnalyzeFormalArguments. I've had to temporarily poke a couple holes in MipsCCState's encapsulation to save having to make all the required changes for this merge all at once*. These will be removed shortly. * We must merge our ByVal argument handling with the implementation in CCState. This will be done over the next three patches, then the fourth will merge analyzeFormalArguments with AnalyzeFormalArguments. Depends on D5967 Reviewers: vmedic Reviewed By: vmedic Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5969 llvm-svn: 221056
* Sink DwarfUnit::Skeleton down into DwarfCompileUnitDavid Blaikie2014-11-014-25/+25
| | | | | | | | | Type units no longer have skeletons and it's misleading to be able to query for a type unit's skeleton (it might incorrectly lead one to conclude that if a unit doesn't have a skeleton it's not in a .dwo file... ). llvm-svn: 221055
* [mips] Remove MipsCC::CCInfo. NFC.Daniel Sanders2014-11-012-42/+41
| | | | | | | | | | | | | | | | | | | Summary: It's now passed in as an argument to functions that need it. Eventually this argument will be replaced by the 'this' pointer for a MipsCCState object. Depends on D5966 Reviewers: vmedic Reviewed By: vmedic Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5967 llvm-svn: 221054
* [mips] Removed MipsCC::fixedArgFn(). NFCDaniel Sanders2014-11-012-29/+18
| | | | | | | | | | | | | | | | | | | Summary: There is one remaining trace of it in MipsCC::analyzeCallOperands() where Mips16 might override the calling convention. This will moved into tablegen-erated code later. Depends on D5965 Reviewers: vmedic Reviewed By: vmedic Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5966 llvm-svn: 221053
* [tablegen] Add CustomCallingConv and use it to tablegen-erate the outermost ↵Daniel Sanders2014-11-015-31/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | parts of the Mips O32 implementation Summary: CustomCallingConv is simply a CallingConv that tablegen should not generate the implementation for. It allows regular CallingConv's to delegate to these custom functions. This is (currently) necessary for Mips and we cannot use CCCustom without having to adapt to the different API that CCCustom uses. This brings us a bit closer to being able to remove MipsCC::analyzeCallOperands and MipsCC::analyzeFormalArguments in favour of the common implementation. No functional change to the targets. Depends on D3341 Reviewers: vmedic Reviewed By: vmedic Subscribers: vmedic, llvm-commits Differential Revision: http://reviews.llvm.org/D5965 llvm-svn: 221052
* Sink DwarfDebug::AbstractSPDies down into DwarfFileDavid Blaikie2014-11-013-11/+11
| | | | | | | | | | | This is the first big step to allowing gmlt-like inline scope information in the skeleton CU. While this commit doesn't change the functionality, it's only a small step to call "constructAbstractSubprogramDIE" on both the InfoHolder and the SkeletonHolder (when in use) and that will at least create the abstract SP dies in that case, though still not creating the other subprograms. llvm-svn: 221051
* Remove redundant calls to isMaterializable.Rafael Espindola2014-11-0110-51/+21
| | | | | | | | | | This removes calls to isMaterializable in the following cases: * It was redundant with a call to isDeclaration now that isDeclaration returns the correct answer for materializable functions. * It was followed by a call to Materialize. Just call Materialize and check EC. llvm-svn: 221050
* Revert r221048 - Test commitDaniel Sanders2014-11-011-1/+0
| | | | | | | It seems I can't commit unless $DBUS_SESSION_BUS_ADDRESS is set correctly and it is not set for ssh sessions. llvm-svn: 221049
* Test commitDaniel Sanders2014-11-011-0/+1
| | | | | | Added some whitespace to debug some authentication issues I'm having. llvm-svn: 221048
* [JIT] Fix some more missing endian conversions in RuntimeDyldDaniel Sanders2014-11-011-6/+7
| | | | | | | | | | | | | | Summary: This fixes MachO_i386_eh_frame.s on a big-endian Mips host. Reviewers: lhames Reviewed By: lhames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6019 llvm-svn: 221047
* [CMake] llvm-profdata requires Core.NAKAMURA Takumi2014-11-011-1/+5
| | | | llvm-svn: 221046
* InstCombine: Combine (X+cst) < 0 --> X < -cstDavid Majnemer2014-11-012-0/+38
| | | | | | | | | | | | | This can happen pretty often in code that looks like: int foo = bar - 1; if (foo < 0) do stuff In this case, bar < 1 is an equivalent condition. This transform requires that the add instruction be annotated with nsw. llvm-svn: 221045
* IR: Restore the old behavior of getDISubprogramDavid Majnemer2014-11-011-10/+9
| | | | | | | getDISubprogram was mistakenly thought to contain a bug: we thought we might need to try harder if we found a DebugLoc we didn't find. llvm-svn: 221044
* CodeGen: Declutter the emitVirtualObjectDelete interfaceDavid Majnemer2014-11-014-23/+24
| | | | | | No functionality change intended. llvm-svn: 221043
* CodeGen: Virtual dtor thunks shouldn't have this marked as 'returned'David Majnemer2014-11-014-16/+21
| | | | | | | The ARM ABI virtual destructor thunks cannot be marked as 'returned' because they return undef. llvm-svn: 221042
* Revert "Temporarily revert r220777 to sort out build bot breakage."Adrian Prantl2014-11-013-12/+56
| | | | | | | This reverts commit r221028. Later commits depend on this and reverting just this one causes even more bots to fail. llvm-svn: 221041
* Revert r220779, "[AVX512] Removed special case for cmp instructions in ↵NAKAMURA Takumi2014-11-011-4/+15
| | | | | | | | getVectorMaskingNode. Now cmp intrinsics lower as other intrinsics through VSELECT, and then VSELECT tranforms to AND in PerformSELECTCombine." Since r221028 (reverting r220777), this caused failures. llvm-svn: 221040
* clang/lib/CodeGen/TargetInfo.cpp: Fix a couple of warnings. ↵NAKAMURA Takumi2014-11-011-2/+2
| | | | | | [-Winconsistent-missing-override] llvm-svn: 221039
* [FIX] Move the statistic code to fix the build.Johannes Doerfert2014-11-011-11/+12
| | | | llvm-svn: 221038
* Remove unused functionDavid Blaikie2014-11-011-3/+0
| | | | llvm-svn: 221037
* And... fix the build some more.David Blaikie2014-11-011-1/+1
| | | | llvm-svn: 221036
* Remove the LoopBounds from the TempScop class.Johannes Doerfert2014-11-013-43/+6
| | | | | | | | | We will use ScalarEvolution in the ScopInfo.cpp to get the loop trip count, not cache it in the TempScop object. Differential Revision: http://reviews.llvm.org/D6070 llvm-svn: 221035
* Just iterate the DwarfCompileUnits rather than trying to filter them out of ↵David Blaikie2014-11-011-49/+46
| | | | | | the list of all units. llvm-svn: 221034
* Add '*' to auto variable that is a pointer, as per the coding conventions.David Blaikie2014-11-011-1/+1
| | | | llvm-svn: 221033
* Add show and merge tools for sample PGO profiles.Diego Novillo2014-11-019-117/+317
| | | | | | | | | | | | | | | | | | | | | Summary: This patch extends the 'show' and 'merge' commands in llvm-profdata to handle sample PGO formats. Using the 'merge' command it is now possible to convert one sample PGO format to another. The only format that is currently not working is 'gcc'. I still need to implement support for it in lib/ProfileData. The changes in the sample profile support classes are needed for the merge operation. Reviewers: bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6065 llvm-svn: 221032
* Add DwarfCompileUnit::getSkeleton that returns DwarfCompileUnit* to avoid ↵David Blaikie2014-11-012-3/+6
| | | | | | having to cast from DwarfUnit* on every call. llvm-svn: 221031
* Fix a bug where -Wuninitialized would skip arguments to a function call.Richard Trieu2014-11-012-1/+16
| | | | llvm-svn: 221030
* Partial fix for building w/ libcxxrt on OSX. Patch from C Bergstrom.Eric Fiselier2014-11-012-2/+2
| | | | llvm-svn: 221029
* Temporarily revert r220777 to sort out build bot breakage.Adrian Prantl2014-11-013-56/+12
| | | | | | "[x86] Simplify vector selection if condition value type matches vselect value type and true value is all ones or false value is all zeros." llvm-svn: 221028
OpenPOWER on IntegriCloud