summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR
Commit message (Collapse)AuthorAgeFilesLines
* IR: Fix MDType fields from unsigned to uint64_tDuncan P. N. Exon Smith2015-02-192-20/+20
| | | | | | | | | When trying to match the current schema with the new debug info hierarchy, I downgraded `SizeInBits`, `AlignInBits` and `OffsetInBits` to 32-bits (oops!). Caught this while testing my upgrade script to move the hierarchy into place. Bump it back up to 64-bits and update tests. llvm-svn: 229933
* IR: Add missing null operand to MDSubroutineTypeDuncan P. N. Exon Smith2015-02-191-1/+1
| | | | | | | | | Add missing `nullptr` from `MDSubroutineType`'s operands for `MDCompositeTypeBase::getIdentifier()` (and add tests for all the other unused fields). This highlights just how crazy it is that `MDSubroutineType` inherits from `MDCompositeTypeBase`. llvm-svn: 229926
* Avoid conversion to float when creating ConstantDataArray/ConstantDataVector.Rafael Espindola2015-02-191-19/+72
| | | | | | Patch by Raoux, Thomas F! llvm-svn: 229864
* Implement invoke statepoint verification.Igor Laevsky2015-02-191-9/+49
| | | | | | Differential Revision: http://reviews.llvm.org/D7366 llvm-svn: 229840
* Add invoke related functionality into StatepointSite classes.Igor Laevsky2015-02-191-4/+19
| | | | | | Differential Revision: http://reviews.llvm.org/D7364 llvm-svn: 229838
* IR: Drop scope from MDTemplateParameterDuncan P. N. Exon Smith2015-02-193-34/+22
| | | | | | | | | | Follow-up to r229740, which removed `DITemplate*::getContext()` after my upgrade script revealed that scopes are always `nullptr` for template parameters. This is the other shoe: drop `scope:` from `MDTemplateParameter` and its two subclasses. (Note: a bitcode upgrade would be pointless, since the hierarchy hasn't been moved into place.) llvm-svn: 229791
* IR: Swap order of name and value in MDEnumDuncan P. N. Exon Smith2015-02-181-1/+1
| | | | | | | | | Put the name before the value in assembly for `MDEnum`. While working on the testcase upgrade script for the new hierarchy, I noticed that it "looks nicer" to have the name first, since it lines the names up in the (somewhat typical) case that they have a common prefix. llvm-svn: 229747
* IR: Add MDSubprogram::replaceFunction()Duncan P. N. Exon Smith2015-02-181-0/+6
| | | | llvm-svn: 229742
* IR: Drop the scope in DI template parametersDuncan P. N. Exon Smith2015-02-182-6/+6
| | | | | | | | | | | The scope/context is always the compile unit, which we replace with `nullptr` anyway (via `getNonCompileUnitScope()`). Drop it explicitly. I noticed this field was always null while writing testcase upgrade scripts to transition to the new hierarchy. Seems wasteful to transition it over if it's already out-of-use. llvm-svn: 229740
* Fix -DNDEBUG -Werror build after r229733Duncan P. N. Exon Smith2015-02-181-0/+2
| | | | llvm-svn: 229736
* IR: isScopeRef() should check isScope()Duncan P. N. Exon Smith2015-02-181-1/+3
| | | | | | | r229733 removed an invalid use of `DIScopeRef`, so now we can enforce that a `DIScopeRef` is actually a scope. llvm-svn: 229734
* IR: Avoid DIScopeRef in DIImportedEntity::getEntity()Duncan P. N. Exon Smith2015-02-181-0/+17
| | | | | | | | | | `DIImportedEntity::getEntity()` currently returns a `DIScopeRef`, but the nodes it references aren't always `DIScope`s. In particular, it can reference global variables. Introduce `DIDescriptorRef` to avoid the lie. llvm-svn: 229733
* [X86] Remove AVX2 and SSE2 pslldq and psrldq intrinsics. We can represent ↵Craig Topper2015-02-181-75/+110
| | | | | | them in IR with vector shuffles now. All their uses have been removed from clang in favor of shuffles. llvm-svn: 229640
* IR: fieldIsMDNode() should be false for MDStringDuncan P. N. Exon Smith2015-02-171-8/+1
| | | | | | | Simplify the code. It has been a while since the schema has been so "flexible". llvm-svn: 229573
* DIBuilder: add trackIfUnresolved() to all nodes that may be cyclic.Adrian Prantl2015-02-171-3/+14
| | | | | | | | Tested in clang/test/CodeGenObjCCXX/debug-info-cyclic.mm rdar://problem/19839612 llvm-svn: 229521
* Prefer SmallVector::append/insert over push_back loops.Benjamin Kramer2015-02-174-21/+12
| | | | | | Same functionality, but hoists the vector growth out of the loop. llvm-svn: 229500
* [X86] Remove the multiply by 8 that goes into the shift constant for ↵Craig Topper2015-02-161-6/+6
| | | | | | X86ISD::VSHLDQ and X86ISD::VSRLDQ. This simplifies the pattern matching in isel and allows these nodes to become the patterns embedded in the instruction. llvm-svn: 229431
* [X86] Remove x86.avx2.psll.dq.bs and x86.avx2.psrl.dq.bs intrinsics.Craig Topper2015-02-161-0/+48
| | | | llvm-svn: 229430
* ConstantFold: Properly fold GEP indices wider than i64David Majnemer2015-02-161-18/+31
| | | | llvm-svn: 229420
* IR: SrcTy == DstTy doesn't imply that a cast is validDavid Majnemer2015-02-161-4/+0
| | | | | | Cast validity depends on the cast's kind, not just its types. llvm-svn: 229366
* Verifier: Diagnose module flags which have null ID operandsDavid Majnemer2015-02-161-1/+1
| | | | llvm-svn: 229361
* DebugInfo: Don't crash if 'Debug Info Version' has a strange valueDavid Majnemer2015-02-161-1/+1
| | | | llvm-svn: 229356
* DataLayout: Validate that the pref alignment is at least the ABI alignDavid Majnemer2015-02-161-1/+4
| | | | llvm-svn: 229355
* DataLayout: Report when the datalayout type alignment/width is too largeDavid Majnemer2015-02-161-6/+11
| | | | llvm-svn: 229354
* IR: Properly return nullptr when getAggregateElement is out-of-boundsDavid Majnemer2015-02-161-4/+19
| | | | | | | | | | | We didn't properly handle the out-of-bounds case for ConstantAggregateZero and UndefValue. This would manifest as a crash when the constant folder was asked to fold a load of a constant global whose struct type has no operands. This fixes PR22595. llvm-svn: 229352
* Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for ↵Aaron Ballman2015-02-154-19/+19
| | | | | | requiring the macro. NFC; LLVM edition. llvm-svn: 229340
* InstCombine: propagate deref via new addDereferenceableAttrRamkumar Ramachandra2015-02-143-0/+25
| | | | | | | | | | | | | | | | | The "dereferenceable" attribute cannot be added via .addAttribute(), since it also expects a size in bytes. AttrBuilder#addAttribute or AttributeSet#addAttribute is wrapped by classes Function, InvokeInst, and CallInst. Add corresponding wrappers to AttrBuilder#addDereferenceableAttr. Having done this, propagate the dereferenceable attribute via gc.relocate, adding a test to exercise it. Note that -datalayout is required during execution over and above -instcombine, because InstCombine only optionally requires DataLayoutPass. Differential Revision: http://reviews.llvm.org/D7510 llvm-svn: 229265
* [PM] Remove the old 'PassManager.h' header file at the top level ofChandler Carruth2015-02-131-7/+7
| | | | | | | | | | | | | | | | | | | | LLVM's include tree and the use of using declarations to hide the 'legacy' namespace for the old pass manager. This undoes the primary modules-hostile change I made to keep out-of-tree targets building. I sent an email inquiring about whether this would be reasonable to do at this phase and people seemed fine with it, so making it a reality. This should allow us to start bootstrapping with modules to a certain extent along with making it easier to mix and match headers in general. The updates to any code for users of LLVM are very mechanical. Switch from including "llvm/PassManager.h" to "llvm/IR/LegacyPassManager.h". Qualify the types which now produce compile errors with "legacy::". The most common ones are "PassManager", "PassManagerBase", and "FunctionPassManager". llvm-svn: 229094
* [X86] Fix XOP vpcom intrinsic autoupgrade to map 'true' and 'false' to the ↵Craig Topper2015-02-131-2/+2
| | | | | | correct immediates. Seems they were swapped. llvm-svn: 229077
* [X86] Remove int_x86_sse2_psll_dq_bs and int_x86_sse2_psrl_dq_bs intrinsics. ↵Craig Topper2015-02-131-0/+39
| | | | | | The builtins aren't used by clang. llvm-svn: 229069
* IR: Drop never-used defaults for DIBuilder::createTemplate*(), NFCDuncan P. N. Exon Smith2015-02-131-22/+17
| | | | | | | | No caller specifies anything different; these parameters are dead code and probably always have been. The new hierarchy doesn't bother with the fields at all (see r228607 and r228652). llvm-svn: 229037
* AsmWriter/Bitcode: MDImportedEntityDuncan P. N. Exon Smith2015-02-131-4/+17
| | | | llvm-svn: 229025
* AsmWriter/Bitcode: MDObjCPropertyDuncan P. N. Exon Smith2015-02-131-3/+24
| | | | llvm-svn: 229024
* AsmWriter/Bitcode: MDExpressionDuncan P. N. Exon Smith2015-02-131-3/+20
| | | | llvm-svn: 229023
* AsmWriter/Bitcode: MDLocalVariableDuncan P. N. Exon Smith2015-02-132-4/+38
| | | | llvm-svn: 229022
* AsmWriter/Bitcode: MDGlobalVariableDuncan P. N. Exon Smith2015-02-131-4/+36
| | | | llvm-svn: 229020
* AsmWriter/Bitcode: MDTemplate{Type,Value}ParameterDuncan P. N. Exon Smith2015-02-131-10/+31
| | | | llvm-svn: 229019
* AsmWriter/Bitcode: MDNamespaceDuncan P. N. Exon Smith2015-02-131-3/+17
| | | | llvm-svn: 229018
* AsmWriter/Bitcode: MDLexicalBlockFileDuncan P. N. Exon Smith2015-02-131-4/+17
| | | | llvm-svn: 229017
* AsmWriter/Bitcode: MDLexicalBlockDuncan P. N. Exon Smith2015-02-131-3/+18
| | | | llvm-svn: 229016
* AsmWriter: MDSubprogram: Recognize DW_VIRTUALITY in 'virtuality'Duncan P. N. Exon Smith2015-02-131-2/+7
| | | | llvm-svn: 229015
* AsmWriter/Bitcode: MDSubprogramDuncan P. N. Exon Smith2015-02-131-3/+60
| | | | llvm-svn: 229014
* AsmWriter/Bitcode: MDCompileUnitDuncan P. N. Exon Smith2015-02-131-3/+51
| | | | llvm-svn: 229013
* AsmWriter/Bitcode: MDSubroutineTypeDuncan P. N. Exon Smith2015-02-131-4/+10
| | | | llvm-svn: 229011
* AsmWriter: MDCompositeType: Recognize DW_LANG in 'runtimeLang'Duncan P. N. Exon Smith2015-02-131-2/+8
| | | | llvm-svn: 229010
* AsmWriter/Bitcode: MDDerivedType and MDCompositeTypeDuncan P. N. Exon Smith2015-02-131-7/+89
| | | | llvm-svn: 229009
* AsmWriter/Bitcode: MDFileDuncan P. N. Exon Smith2015-02-131-2/+8
| | | | llvm-svn: 229007
* AsmWriter: MDBasicType: Recognize DW_ATE in 'encoding'Duncan P. N. Exon Smith2015-02-131-2/+7
| | | | llvm-svn: 229006
* AsmWriter/Bitcode: MDBasicTypeDuncan P. N. Exon Smith2015-02-131-3/+15
| | | | llvm-svn: 229005
* AsmWriter/Bitcode: MDEnumeratorDuncan P. N. Exon Smith2015-02-131-2/+7
| | | | llvm-svn: 229004
OpenPOWER on IntegriCloud