summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused function.Rui Ueyama2015-03-091-12/+0
| | | | llvm-svn: 231616
* PECOFF: Create layout-afters instead of layout-befores.Rui Ueyama2015-03-093-11/+11
| | | | | | | | | | | | | | | | All readers except PE/COFF reader create layout-after edges to preserve the original symbol order. PE/COFF uses layout-before edges as primary edges for no reason. This patch makes PE/COFF reader to create layout-after edges. Resolver is updated to recognize reverse edges of layout-after edges in the garbage collection pass. Now we can retire layout-before edges. I don't do that in this patch because if I do, I would have updated many tests to replace all occurrrences of "layout-before" with "layout-after". So that's a TODO. llvm-svn: 231615
* PECOFF: Define and use BaseReloc type instead of std::pair.Rui Ueyama2015-03-081-33/+29
| | | | | | | "first" and "second" are not easy to memorize. Define a type to use meaningful names. llvm-svn: 231614
* Teach DataLayout to infer a plausible alignment for things even when nothing ↵Owen Anderson2015-03-082-3/+24
| | | | | | is specified by the user. llvm-svn: 231613
* [Formating] Fix formatingJohannes Doerfert2015-03-081-3/+3
| | | | llvm-svn: 231612
* Revert r231552: Resolver: optimize fallback atoms.Rui Ueyama2015-03-081-4/+5
| | | | | | This patch broke a buildbot. llvm-svn: 231611
* Re-commit r231545: PECOFF: Do not add extraneous symbols to the dead strip rootRui Ueyama2015-03-081-5/+3
| | | | | | | That commit was reverted in r231582 as it was a culprit for buildbot breakage. Turned out it's not. llvm-svn: 231610
* Avoid warnings on !PowerPCJoerg Sonnenberger2015-03-081-1/+2
| | | | llvm-svn: 231609
* Don't produce warnings on !PowerPC.Joerg Sonnenberger2015-03-083-3/+6
| | | | llvm-svn: 231608
* [FIX] Add and force initialization for Pass * memberJohannes Doerfert2015-03-081-2/+2
| | | | | | | r231268 accidently dropped the initialization that is re-introduced here. The const will enforce initialization for the future. llvm-svn: 231607
* [FIX] Use the correct functions to extract the LB/UB from a rangeJohannes Doerfert2015-03-081-6/+14
| | | | | | | The current tests will continue to cover this code and more will be added when non-affine loops are supported. llvm-svn: 231606
* Properly initialize the parser_crash debug token.Benjamin Kramer2015-03-081-0/+2
| | | | | | Found by msan. llvm-svn: 231605
* Fix the MSVC build.Benjamin Kramer2015-03-081-2/+0
| | | | | | Type traits are hard. llvm-svn: 231604
* Make Token a real POD type.Benjamin Kramer2015-03-082-5/+10
| | | | | | | We copy them around a lot and skip construction in favor of startToken, make the default construction trivial to reflect that. llvm-svn: 231603
* Skip all lldb-mi tests on LinuxVince Harron2015-03-085-0/+26
| | | | | | | lldb-mi tests have been failing for a while on the buildbots. Disabling until someone has a chance to fix. llvm-svn: 231602
* [X86][AVX] Fix wrong lowering of VPERM2X128 nodesAndrea Di Biagio2015-03-083-9/+86
| | | | | | | | | | | | | | | | | | | | | | There were cases where the backend computed a wrong permute mask for a VPERM2X128 node. Example: \code define <8 x float> @foo(<8 x float> %a, <8 x float> %b) { %shuffle = shufflevector <8 x float> %a, <8 x float> %b, <8 x i32> <i32 undef, i32 undef, i32 6, i32 7, i32 undef, i32 undef, i32 6, i32 7> ret <8 x float> %shuffle } \code end Before this patch, llc (with -mattr=+avx) emitted the following vperm2f128: vperm2f128 $0, %ymm0, %ymm0, %ymm0 # ymm0 = ymm0[0,1,0,1] With this patch, llc emits a vperm2f128 with a correct permute mask: vperm2f128 $17, %ymm0, %ymm0, %ymm0 # ymm0 = ymm0[2,3,2,3] Differential Revision: http://reviews.llvm.org/D8119 llvm-svn: 231601
* Fix whitespace on Python SWIG wrapperEd Maste2015-03-081-470/+470
| | | | llvm-svn: 231600
* Drop meaningless test caseTobias Grosser2015-03-081-44/+0
| | | | | | | | This test case was supposed to test the range analysis but it became just another delinearization test case after enabling delinearization. Suggested-by: Johannes Doerfert llvm-svn: 231599
* Make static variables const if possible. Makes them go into a read-only section.Benjamin Kramer2015-03-087-50/+35
| | | | | | Or fold them into a initializer list which has the same effect. NFC. llvm-svn: 231598
* Make constant static variables const so they can go into a read-only sectionBenjamin Kramer2015-03-082-7/+8
| | | | | | NFC. llvm-svn: 231597
* Small change to create_ll.sh [NFC]Johannes Doerfert2015-03-081-1/+1
| | | | llvm-svn: 231596
* Enable delinearization by default - second tryTobias Grosser2015-03-081-1/+1
| | | | | | | After having fixed the LNT bugs in the previous commits, lets reenable the delinearization. llvm-svn: 231595
* Update test cases to work independently of delinearization defaultTobias Grosser2015-03-083-8/+11
| | | | llvm-svn: 231594
* Add end user report message for unprofitable regions [NFC]Johannes Doerfert2015-03-084-7/+33
| | | | llvm-svn: 231593
* Add sign-extension during codegen of index expressionsTobias Grosser2015-03-082-2/+33
| | | | | | | | When code generating array index expressions the types of the different components of the index expressions may not always match. We extend the type of the index expression (if possible) and assert otherwise. llvm-svn: 231592
* Revert "Enable delinearization by default"Tobias Grosser2015-03-081-1/+1
| | | | | | | This reverts commit 231590. Apparantly we have three more issues left in oggenc, smg2000 and linpack. llvm-svn: 231591
* Enable delinearization by defaultTobias Grosser2015-03-081-1/+1
| | | | | | | | The performance test case just committed was the last open issue I was aware of. We enable this by default to increase test coverage and to possibly trigger reports of issues yet unknown. llvm-svn: 231590
* Add delinearization test-case that timed out earlierTobias Grosser2015-03-081-0/+520
| | | | llvm-svn: 231589
* [Rewrite] Make RewriteBuffer accessible on its own, and add a unit test for it.Argyrios Kyrtzidis2015-03-087-8/+90
| | | | llvm-svn: 231588
* [Rewrite] Move RewriteBuffer into its own header.Argyrios Kyrtzidis2015-03-082-96/+114
| | | | llvm-svn: 231587
* PECOFF: Fix off-by-one error.Rui Ueyama2015-03-083-9/+60
| | | | | | We accidentally skipped the last base relocation entry for each block. llvm-svn: 231586
* PECOFF: Parallelize base relocation creation.Rui Ueyama2015-03-081-29/+31
| | | | | | | | | | | | | | | | | If an output is large, its base relocation section can be also large. For example, chrome.dll is almost 300 MB, and it has about 9 million base relocations. Creating the section took 1.5 seconds on my machine. This patch changes the way to create the section so that we can use parallel_sort to group base relocations by high bits. This change makes the linker almost 4% faster for the above test case on my machine. If I replace parallel_sort with std::sort, performance remains the same, so single thread performance should remain the same. This has no functionality change. The output should be identical as before. llvm-svn: 231585
* Resolver: Use LLVM StringMap and DenseMap.Rui Ueyama2015-03-081-2/+2
| | | | | | | | | All defined symbols from all archive files are inserted to _archiveMap, so performance of hash table matters here (I'm not trying to convert all std::maps with DenseMaps). This change seems to make the linker 0.5% - 1% faster for my test case. llvm-svn: 231584
* Remove sectionPosition attribute.Rui Ueyama2015-03-0811-82/+9
| | | | | | | | This code is simply dead. No one is using it. http://reviews.llvm.org/D8125 llvm-svn: 231583
* Revert r231545 to unbreak buildbot.Rui Ueyama2015-03-081-3/+5
| | | | | | | | | This patch reverts r231545 "PECOFF: Do not add extraneous symbols to the dead strip root." CrWinClangLLD buildbot is currently broken. Since I can't reproduce the issue locally, I'm reverting the most relevant change. llvm-svn: 231582
* [DAGCombiner] Add a shuffle mask commutation helper function. NFCI.Simon Pilgrim2015-03-074-55/+21
| | | | | | | | | | We have an increasing number of cases where we are creating commuted shuffle masks - all implementing nearly the same code. This patch adds a static helper function - ShuffleVectorSDNode::commuteMask() and replaces a number of cases to use it. Differential Revision: http://reviews.llvm.org/D8139 llvm-svn: 231581
* Unwind: remove unnecessary checkSaleem Abdulrasool2015-03-071-1/+0
| | | | | | | | | Linux/GNU on AArch64 EH ABI Level III is implemented using exception frame tables as defined in LSB II.11.6. The exception frame tables use the DWARF Exception Header Encoding as described in LSB II.11.5.1. We already defined the appropriate definition _LIBUNWIND_SUPPORT_DWARF_UNWIND to enable this. llvm-svn: 231580
* Fix the autoconf buildDavid Majnemer2015-03-073-195/+160
| | | | | | | | lib/ExecutionEngine/Targets has no Makefile, causing the autoconf build to fail. Solve this by bringing the COFF implementation of RuntimeDyld in line like the Mach-O and ELF implementations. llvm-svn: 231579
* Unwind: tweak register handling for AArch64Saleem Abdulrasool2015-03-072-22/+22
| | | | | | | | | | | AArch64 uses // as the comment character (although, Darwin uses ;). However, since we are using the C preprocessor on these files, // can be used as the comment character across the board. Tweak the platform guard to recognise __aarch64__ as well as __arm64__ for the platform identifier. llvm-svn: 231578
* Make the assertion macros in Verifier and Linter truly variadic.Benjamin Kramer2015-03-072-1055/+1009
| | | | | | NFC. llvm-svn: 231577
* Fix unused variable/function warningsDavid Majnemer2015-03-073-10/+7
| | | | llvm-svn: 231576
* ASTMatchers: Make AST_POLYMORPHIC_SUPPORTED_TYPES a variadic macroBenjamin Kramer2015-03-075-72/+68
| | | | | | C++11 finally allows us to use this C99 feature. llvm-svn: 231575
* ExecutionEngine: Preliminary support for dynamically loadable coff objectsDavid Majnemer2015-03-0710-14/+475
| | | | | | | | | | Provide basic support for dynamically loadable coff objects. Only handles a subset of x64 currently. Patch by Andy Ayers! Differential Revision: http://reviews.llvm.org/D7793 llvm-svn: 231574
* Wrap to 80 columns. No behavior change.Nico Weber2015-03-073-7/+12
| | | | llvm-svn: 231573
* Make constant arrays that are passed to functions as const.Benjamin Kramer2015-03-078-40/+30
| | | | | | | | In theory this allows the compiler to skip materializing the array on the stack. In practice clang often fails to do that, but that's a different story. NFC. llvm-svn: 231571
* Remove duplicate code. NFC.Rui Ueyama2015-03-074-16/+3
| | | | llvm-svn: 231570
* Use SDValue bool check to tidyup some possible combines. NFC.Simon Pilgrim2015-03-071-6/+5
| | | | llvm-svn: 231569
* Remove redundant empty destructors.Rui Ueyama2015-03-076-13/+0
| | | | | | | Both File and Atom have virtual destructors. We don't need to repeat that in derived classes. llvm-svn: 231568
* Adding parenthesis around logical expressions to silence a -Wparentheses ↵Aaron Ballman2015-03-071-2/+2
| | | | | | warning; NFC. llvm-svn: 231567
* Removing spurious semi-colons; NFCAaron Ballman2015-03-071-2/+2
| | | | llvm-svn: 231566
OpenPOWER on IntegriCloud