summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix some bugs in the posix output of llvm-nm. Which is documented onKevin Enderby2016-03-295-17/+31
| | | | | | | | | | | | | | http://pubs.opengroup.org/onlinepubs/9699919799/utilities/nm.html . 1) For Mach-O files the code was not printing the values in hex as is the default. 2) The values printed had leading zeros which they should not have. 3) The address for undefined symbols was printed as spaces instead of 0. 4) With the -A option with posix output for an archive did not use square brackets around the archive member name. rdar://25311883 and rdar://25299678 llvm-svn: 264778
* [SPARC] Use AtomicExpandPass to expand AtomicRMW instructions.James Y Knight2016-03-293-173/+10
| | | | | | | | | They were previously expanded to CAS loops in a custom isel expansion, but AtomicExpandPass knows how to do that generically. Testing is covered by the existing sparc atomics.ll testcases. llvm-svn: 264771
* MachineVerifier: On dead-def live segments, check that corresponding machine ↵Matthias Braun2016-03-291-3/+18
| | | | | | operand has a dead flag llvm-svn: 264769
* LiveVariables: Fix typo and shorten commentMatthias Braun2016-03-291-4/+2
| | | | llvm-svn: 264768
* IR: Add DbgInfoIntrinsic::getVariableLocationDuncan P. N. Exon Smith2016-03-292-25/+13
| | | | | | | | | | | | Create a common accessor, DbgInfoIntrinsic::getVariableLocation, which doesn't care about the type of debug info intrinsic. Use this to further unify the implementations of DbgDeclareInst::getAddress and DbgValueInst::getValue. Besides being a cleanup, I'm planning to use this to prepare DEBUG output without having to branch on the concrete type. llvm-svn: 264767
* Revert "[asan] Make the global_metadata_darwin.ll test require El Capitan or ↵Ryan Govostes2016-03-292-13/+0
| | | | | | newer" llvm-svn: 264764
* [ThinLTO] Remove post-pass metadata linking supportTeresa Johnson2016-03-2911-434/+42
| | | | | | | | | | | Since we have moved to a model where functions are imported in bulk from each source module after making summary-based importing decisions, there is no longer a need to link metadata as a postpass, and all users have been removed. This essentially reverts r255909 and follow-on fixes. llvm-svn: 264763
* [asan] Make the global_metadata_darwin.ll test require El Capitan or newerRyan Govostes2016-03-292-0/+13
| | | | llvm-svn: 264758
* Add support for no-jump-tablesNirav Dave2016-03-294-2/+95
| | | | | | | | | | | | | Add function soft attribute to the generation of Jump Tables in CodeGen as initial step towards clang support of gcc's no-jump-table support Reviewers: hans, echristo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18321 llvm-svn: 264756
* Add MachineVerifier check for AllVRegsAllocated MachineFunctionPropertyDerek Schuff2016-03-295-15/+20
| | | | | | | | | | | | | | | | | Summary: Check that any function that has the property set is free of virtual register operands. Also, it is actually VirtRegMap (and not the register allocators) that acutally remove the VReg operands (except for RegAllocFast). Reviewers: qcolombet Subscribers: MatzeB, llvm-commits, qcolombet Differential Revision: http://reviews.llvm.org/D18535 llvm-svn: 264755
* Swift Calling Convention: add swiftself attribute.Manman Ren2016-03-2930-7/+198
| | | | | | Differential Revision: http://reviews.llvm.org/D17866 llvm-svn: 264754
* [x86] add tests to show current memset codegenSanjay Patel2016-03-291-0/+88
| | | | llvm-svn: 264748
* [SCEV] Extract out a MatchBinaryOp; NFCISanjoy Das2016-03-291-222/+284
| | | | | | | | | MatchBinaryOp abstracts out the IR instructions from the operations they represent. While this change is NFC, we will use this factoring later to map things like `(extractvalue 0 (sadd.with.overflow X Y))` to `(add X Y)`. llvm-svn: 264747
* [SCEV] Use Operator::getOpcode instead of manual dispatch; NFCSanjoy Das2016-03-291-8/+3
| | | | llvm-svn: 264746
* Make InlineSimple's one-arg constructor explicit. NFCJustin Lebar2016-03-291-1/+2
| | | | llvm-svn: 264744
* Reformat a comment in InlineSimple.cpp. NFCJustin Lebar2016-03-291-3/+3
| | | | llvm-svn: 264743
* regenerate checksSanjay Patel2016-03-291-10/+33
| | | | llvm-svn: 264738
* Test commit accessKonstantin Zhuravlyov2016-03-291-1/+1
| | | | llvm-svn: 264736
* [ThinLTO] Use new GlobalValue::getGUID helper (NFC)Teresa Johnson2016-03-291-2/+1
| | | | | | | This was already being used for functions and aliases, was missed when handling global variables. llvm-svn: 264734
* [llvm-readobj] NFC: Remove unneeded parenthesisHemant Kulkarni2016-03-291-6/+6
| | | | llvm-svn: 264731
* [mips] Test commit: Mark insertNoop as dead code (NFC)Simon Dardis2016-03-291-0/+1
| | | | llvm-svn: 264728
* [mips] Correct MIPS16 jal/jalx to have uimm26 offsets and add MC layer range ↵Daniel Sanders2016-03-293-5/+9
| | | | | | | | | | | | | | | | checks. NFC. Summary: However, this has no effect at this time because the instructions affected are marked 'isCodeGenOnly=1' and have no alternative for the MC layer. Reviewers: vkalintiris Subscribers: llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D18179 llvm-svn: 264712
* fix CHECK_NOT -> CHECK-NOTJunmo Park2016-03-291-1/+1
| | | | llvm-svn: 264706
* fixed typo - CHECK-LABELJunmo Park2016-03-291-1/+1
| | | | llvm-svn: 264704
* Added 2 notesElena Demikhovsky2016-03-291-2/+15
| | | | | | | | | 1) Skylake and KNL support for X86 2) masked intrinsics load/store/gather/scatter Differential Revision: http://reviews.llvm.org/D18353 llvm-svn: 264703
* fixed typo - CHECK-LABELElena Demikhovsky2016-03-291-1/+1
| | | | llvm-svn: 264702
* AVX-512: fixed a bug in fp_to_uint pattern on KNLElena Demikhovsky2016-03-292-151/+503
| | | | | | | | | Fixed fp_to_uint instruction selection on KNL. One pattern was missing for <4 x double> to <4 x i32> Differential Revision: http://reviews.llvm.org/D18512 llvm-svn: 264701
* BitcodeReader: Allow METADATA_STRINGS to only have !""Duncan P. N. Exon Smith2016-03-292-1/+8
| | | | | | | Support parsing a METADATA_STRINGS record that only has a single piece of metadata, !"". Fixes a corner case in r264551. llvm-svn: 264699
* [SimlifyCFG] Prevent passes from destroying canonical loop structure, ↵Hyojin Sung2016-03-299-55/+84
| | | | | | | | | | | | | | | | | especially for nested loops When eliminating or merging almost empty basic blocks, the existence of non-trivial PHI nodes is currently used to recognize potential loops of which the block is the header and keep the block. However, the current algorithm fails if the loops' exit condition is evaluated only with volatile values hence no PHI nodes in the header. Especially when such a loop is an outer loop of a nested loop, the loop is collapsed into a single loop which prevent later optimizations from being applied (e.g., transforming nested loops into simplified forms and loop vectorization). The patch augments the existing PHI node-based check by adding a pre-test if the BB actually belongs to a set of loop headers and not eliminating it if yes. llvm-svn: 264697
* RegisterPressure: Simplify liveness tracking when lanemasks are not checked.Matthias Braun2016-03-291-31/+66
| | | | | | | | | | | | | | Split RegisterOperands code that collects defs/uses into a variant with and without lanemask tracking. This is a bit of code duplication, but there are enough subtle differences between the two variants that this seems cleaner (and potentially faster). This also fixes a problem where lanes where tracked even though TrackLaneMasks was false. This is part of the fix for http://llvm.org/PR27106. I will commit the testcase when it is completely fixed. llvm-svn: 264696
* LiveVariables: Do not remove dead flags from vreg operandsMatthias Braun2016-03-291-3/+8
| | | | | | | Also add a FIXME comment on why Mips RDDSP causes bogus dead flags to be added which LiveVariables cleans up by accident. llvm-svn: 264695
* [llvm-readobj] Support GNU style dyn-relocationsHemant Kulkarni2016-03-291-20/+108
| | | | | | http://reviews.llvm.org/D18534 llvm-svn: 264693
* [PowerPC] Refactor popcnt[dw] target featuresHal Finkel2016-03-296-18/+30
| | | | | | | | | Instead of using two feature bits, one to indicate the availability of the popcnt[dw] instructions, and another to indicate whether or not they're fast, use a single enum. This allows more consistent control via target attribute strings, and via Clang's command line. llvm-svn: 264690
* [Codegen] Decrease minimum jump table density.Kyle Butt2016-03-2910-38/+134
| | | | | | | | | | | Minimum density for both optsize and non optsize are now options -sparse-jump-table-density (default 10) for non optsize functions -dense-jump-table-density (default 40) for optsize functions, which matches the current default. This improves several benchmarks at google at the cost of a small codesize increase. For code compiled with -Os, the old behavior continues llvm-svn: 264689
* Sample profile summary cleanupEaswaran Raman2016-03-285-13/+12
| | | | | | | | Replace references to MaxHeadSamples with MaxFunctionCount Differential Revision: http://reviews.llvm.org/D18522 llvm-svn: 264686
* [WebAssembly] Remove duplicate disabling of passesDerek Schuff2016-03-281-12/+6
| | | | | | Also put all the disabled passes together llvm-svn: 264684
* [PowerPC] Clarify a comment in PPCTTI about vector loadsHal Finkel2016-03-281-1/+1
| | | | | | | This should say that we could do unaligned vector loads on the P7 using VSX instructions, not that we should. llvm-svn: 264683
* [docs] Corrections w.r.t V2 of the coverage mapping formatVedant Kumar2016-03-281-3/+3
| | | | llvm-svn: 264679
* [PGO] More comments how function pointers for indirect calls are mappedAdam Nemet2016-03-281-0/+9
| | | | | | | | | | | | | | | | to function names Summary: Hopefully this will make it easier for the next person to figure all this out... Reviewers: bogner, davidxl Subscribers: davidxl, cfe-commits Differential Revision: http://reviews.llvm.org/D18489 llvm-svn: 264678
* regenerate checksSanjay Patel2016-03-283-74/+107
| | | | llvm-svn: 264677
* fix checks: *_DAG -> *-DAGSanjay Patel2016-03-282-4/+4
| | | | llvm-svn: 264676
* [Coverage] Fix the expected counts in instrprof-comdat.hVedant Kumar2016-03-281-6/+3
| | | | llvm-svn: 264675
* fix CHECK_NEXT -> CHECK-NEXTSanjay Patel2016-03-282-2/+2
| | | | llvm-svn: 264674
* fix CHECK_DAG -> CHECK-DAGSanjay Patel2016-03-282-4/+4
| | | | llvm-svn: 264673
* fix CHECK_NEXT -> CHECK-NEXTSanjay Patel2016-03-281-4/+4
| | | | llvm-svn: 264672
* fix CHECK_LABEL -> CHECK-LABELSanjay Patel2016-03-281-16/+16
| | | | llvm-svn: 264671
* trailing whitespaceSanjay Patel2016-03-281-315/+315
| | | | llvm-svn: 264670
* Move use of scoped enum in MachineFunctionProperties after its declarationDerek Schuff2016-03-281-5/+7
| | | | | | This should fix the build with MSVC 2013 llvm-svn: 264668
* Remove personality for declarations in CloneModule.Evgeniy Stepanov2016-03-283-0/+22
| | | | | | | | | | Personality is copied as part of copyFunctionAttributes, but it is invalid on a declaration. Remove the personality attribute it the function body is not cloned. Also add a verifier run over output modules in the llvm-split tool. llvm-svn: 264667
* [X86][SSE] Vectorize a bit (AND/XOR/OR) op if a BUILD_VECTOR has the same op ↵Simon Pilgrim2016-03-285-214/+169
| | | | | | | | | | | | | | for all their scalar elements. If all a BUILD_VECTOR's source elements are the same bit (AND/XOR/OR) operation type and each has one constant operand, lower to a pair of BUILD_VECTOR and just apply the bit operation to the vectors. The constant operands will form a constant vector meaning that we still only have a single BUILD_VECTOR to lower and we will have replaced all the scalarized operations with a single SSE equivalent. Its not in our interest to start make a general purpose vectorizer from this, but I'm seeing enough of these scalar bit operations from the later legalization/scalarization stages to support them at least. Differential Revision: http://reviews.llvm.org/D18492 llvm-svn: 264666
OpenPOWER on IntegriCloud