summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [AArch64] Add more regression tests for the load/store optimization pass.Tilmann Scheller2014-05-261-11/+81
| | | | | | | | | | | | | | Cover the following cases: ldr X, [x0, #32] ... add x0, x0, #32 -> ldr X, [x0, #32]! with X being either w1, x1, s0, d0 or q0. llvm-svn: 209624
* [asan] decrease asan-instrumentation-with-call-threshold from 10000 to 7000, ↵Kostya Serebryany2014-05-261-1/+1
| | | | | | see PR17409 llvm-svn: 209623
* [ASan/Win tests] Remove the extra 'cat' in front of FileCheck now that it's ↵Timur Iskhodzhanov2014-05-2642-84/+42
| | | | | | clear we should use GnuWin32 rather than Cygwin on the PATH on Windows (see PR19744) llvm-svn: 209622
* AArch64: remove empty ARM64 directories from svn.Tim Northover2014-05-260-0/+0
| | | | llvm-svn: 209621
* [ASan/Win tests] Use the env keyword in the SUAR tests to work with ↵Timur Iskhodzhanov2014-05-262-2/+2
| | | | | | gnuwin/lit correctly llvm-svn: 209620
* Remove accidentally committed whitespace.Tilmann Scheller2014-05-261-2/+2
| | | | llvm-svn: 209619
* [AArch64] Add a regression test for the load store optimizer.Tilmann Scheller2014-05-261-0/+31
| | | | | | | | We have a couple of regression tests for load/store pairing, but (to my knowledge) there are no regression tests for the load/store + add/sub folding. As a first step towards increased test coverage of this area, this commit adds a test for one instance of a load + add to pre-indexed load transformation. llvm-svn: 209618
* Make the LoopRotate pass's maximum header size configurable both ↵Owen Anderson2014-05-262-5/+15
| | | | | | | | | | programmatically and via the command line, mirroring similar functionality in LoopUnroll. In situations where clients used custom unrolling thresholds, their intent could previously be foiled by LoopRotate having a hardcoded threshold. llvm-svn: 209617
* [Mips] Do not count global GOT entries using the separate variable. UseSimon Atanasyan2014-05-261-10/+4
| | | | | | size of global GOT entries map for that. llvm-svn: 209616
* clang-format: Keep '{' of dict literals on the same line in Allman styleDaniel Jasper2014-05-262-4/+12
| | | | | | | | | | | | | | | | | | | | Before: void f() { [object someMethod:@ { @"a" : @"b" }]; } After: void f() { [object someMethod:@{ @"a" : @"b" }]; } This fixes llvm.org/PR19854. llvm-svn: 209615
* DebugInfo: Test linkonce-odr functions under LTO.David Blaikie2014-05-261-0/+74
| | | | | | | | | | | | | | | | | | | | | | | This was previously regressed/broken by r192749 (reverted due to this issue in r192938) and I was about to break it again by accident with some more invasive changes that deal with the subprogram lists. So to avoid that and further issues - here's a test. It's a pretty basic test - in both r192749 and my impending case, this test would crash, but checking the basics (that we put a subprogram in just one of the two CUs) seems like a good start. We still get this wrong in weird ways if the linkonce-odr function happens to not be identical in the metadata (because it's defined in two different files (hence the # line directives in this test), etc) even though it meets the language requirements (identical token stream) for such a thing. That results in two subprogram DIEs, but only one of them gets the parameter and high/low pc information, etc. We probably need to use the DIRef infrastructure to deduplicate functions as we do types to address this issue - or perhaps teach the BC linker to remove the duplicate entries in subprogram lists? llvm-svn: 209614
* [C++11] Use 'nullptr'. Sema edition.Craig Topper2014-05-2642-1722/+1790
| | | | llvm-svn: 209613
* [C++11] Use 'nullptr'.Craig Topper2014-05-264-8/+8
| | | | llvm-svn: 209612
* DwarfUnit: Remove some misleading no-op code introduced in r204162.David Blaikie2014-05-261-4/+0
| | | | | | | Post commit review feedback from Manman called this out, but it looks like it slipped through the cracks. llvm-svn: 209611
* Just check the entire string.Rafael Espindola2014-05-262-64/+64
| | | | | | Thanks to David Blaikie for the suggestion. llvm-svn: 209610
* Reformat linefeeds.NAKAMURA Takumi2014-05-264-8/+1
| | | | llvm-svn: 209609
* Trailing whitespace.NAKAMURA Takumi2014-05-261-6/+6
| | | | llvm-svn: 209608
* tools: avoid use of std::functionSaleem Abdulrasool2014-05-253-12/+14
| | | | | | | | | | | Remove the use of the std::function and replace the capturing lambda with a non-capturing one, opting to pass the user data down to the context. This is needed as std::function is not yet available on all hosted platforms (it requires RTTI, which breaks on Windows). Thanks to Nico Rieck for pointing this out! llvm-svn: 209607
* tools: split out Win64EHDumper from COFFDumperSaleem Abdulrasool2014-05-254-328/+406
| | | | | | | | | | Move the implementation of the Win64 EH printer from the COFFDumper into its own class. This is in preparation for adding support to print ARM EH information. The only real change here is in printUnwindInfo where we now lambda lift the implicit this parameter for the resolveFunction. Also setup the printing to handle ARM. This now has set the stage to introduce ARM EH printing. llvm-svn: 209606
* tools: inline simple single-use functionSaleem Abdulrasool2014-05-251-18/+6
| | | | | | | This inlines the single use function in preparation for splitting the Win64EH printing out of the COFFDumper into its own entity. llvm-svn: 209605
* tools: refactor COFFDumper symbol resolution logicSaleem Abdulrasool2014-05-251-61/+69
| | | | | | | | | | Make the use of the cache more transparent to the users. There is no reason that the cached entries really need to be passed along. The overhead for doing so is minimal: a single extra parameter. This requires that some standalone functions be brought into the COFFDumper class so that they may access the cache. llvm-svn: 209604
* tools: use references rather than out pointers in COFFDumperSaleem Abdulrasool2014-05-251-18/+8
| | | | | | | Switch to use references for parameters that are guaranteed to be non-null. Simplifies the code a slight bit in preparation for another change. llvm-svn: 209603
* DebugInfo: Fix inlining with #file directives a little harderDavid Blaikie2014-05-252-5/+8
| | | | | | | | | | | Seems my previous fix was insufficient - we were still not adding the inlined function to the abstract scope list. Which meant it wasn't flagged as inline, didn't have nested lexical scopes in the abstract definition, and didn't have abstract variables - so the inlined variable didn't reference an abstract variable, instead being described completely inline. llvm-svn: 209602
* Streamline test case by avoiding a temporary file and piping llc output ↵David Blaikie2014-05-251-2/+1
| | | | | | | | | straight to llvm-dwarfdump We still do temporary files in many cases, just updating this particular one because I was debugging it and made this change while doing so. llvm-svn: 209601
* Emit data or code export directives based on the type.Rafael Espindola2014-05-252-7/+7
| | | | | | | | | | | | | | | | | | | | | | Currently we look at the Aliasee to decide what type of export directive to use. It seems better to use the type of the alias directly. This is similar to how we handle the alias having the same address but other attributes (linkage, visibility) from the aliasee. With this patch it is now possible to do things like target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-windows-msvc" @foo = global [6 x i8] c"\B8*\00\00\00\C3", section ".text", align 16 @f = dllexport alias i32 (), [6 x i8]* @foo !llvm.module.flags = !{!0} !0 = metadata !{i32 6, metadata !"Linker Options", metadata !1} !1 = metadata !{metadata !2, metadata !3} !2 = metadata !{metadata !"/DEFAULTLIB:libcmt.lib"} !3 = metadata !{metadata !"/DEFAULTLIB:oldnames.lib"} llvm-svn: 209600
* Make these CHECKs a bit more strict.Rafael Espindola2014-05-252-62/+62
| | | | | | The " at the end of the line makes sure we matched the entire directive. llvm-svn: 209599
* Sema: Add dll attribute tests for member functionsNico Rieck2014-05-253-1/+780
| | | | llvm-svn: 209598
* Sema: Add dll attribute tests for variable templatesNico Rieck2014-05-252-0/+157
| | | | llvm-svn: 209597
* IRGen: Add more tests for dll attributesNico Rieck2014-05-258-65/+2683
| | | | llvm-svn: 209596
* Add an extension point for peephole optimizers.Peter Collingbourne2014-05-252-1/+15
| | | | | | | | | | This extension point allows adding passes that perform peephole optimizations similar to the instruction combiner. These passes will be inserted after each instance of the instruction combiner pass. Differential Revision: http://reviews.llvm.org/D3905 llvm-svn: 209595
* [Mips] Reduce code duplication. Join relocation handling functions whichSimon Atanasyan2014-05-251-15/+6
| | | | | | perform calculations for R_MIPS_GOT16 and R_MIPS_CALL16 relocations. llvm-svn: 209594
* [Mips] Factor out the code assign a value to the absolute atom into theSimon Atanasyan2014-05-251-11/+9
| | | | | | separate function. llvm-svn: 209593
* [Mips] Factor out the code create Mips specific runtime file intoSimon Atanasyan2014-05-253-28/+13
| | | | | | the MipsELFWriters member function. llvm-svn: 209592
* [Mips] Remove unused class member declaration.Simon Atanasyan2014-05-251-3/+0
| | | | llvm-svn: 209591
* [Mips] Reduce code duplication. Join relocation handling functions whichSimon Atanasyan2014-05-251-18/+8
| | | | | | perform similar calculations. llvm-svn: 209590
* Fix some misplaced spaces around 'override'Hans Wennborg2014-05-244-12/+12
| | | | llvm-svn: 209589
* Fix some misplaced spaces around 'override'Hans Wennborg2014-05-242-2/+2
| | | | llvm-svn: 209588
* build: sort llvm-readobj sourcesSaleem Abdulrasool2014-05-241-4/+4
| | | | | | Sort the source files. NFC. llvm-svn: 209587
* llvm-readobj: remove some dead codeSaleem Abdulrasool2014-05-241-28/+0
| | | | llvm-svn: 209586
* AArch64: disable FastISel for large code model.Tim Northover2014-05-241-0/+5
| | | | | | | | | The code emitted is what would be expected for the small model, so it shouldn't be used when objects can be the full 64-bits away. This fixes MCJIT tests on Linux. llvm-svn: 209585
* ScopDetectionDiagnostic: Update MakefileAndreas Simbuerger2014-05-241-0/+1
| | | | llvm-svn: 209584
* ClangTidyOptionsTest.cpp: Rewrite literals. Raw string literals are ↵NAKAMURA Takumi2014-05-241-7/+8
| | | | | | unavailable on msc17. llvm-svn: 209583
* [Mips] Handle R_MIPS_TLS_TPREL_HI16 / R_MIPS_TLS_TPREL_LO16 relocations.Simon Atanasyan2014-05-245-20/+127
| | | | llvm-svn: 209582
* MachineVerifier: Clean up some syntactic weirdness left behind by find&replace.Benjamin Kramer2014-05-241-6/+6
| | | | | | No functionality change. llvm-svn: 209581
* CodeGen: Make MachineBasicBlock::back skip to the beginning of the last bundle.Benjamin Kramer2014-05-244-13/+95
| | | | | | | | | | | | This makes front/back symmetric with begin/end, avoiding some confusion. Added instr_front/instr_back for the old behavior, corresponding to instr_begin/instr_end. Audited all three in-tree users of back(), all of them look like they don't want to look inside bundles. Fixes an assertion (PR19815) when generating debug info on mips, where a delay slot was bundled at the end of a branch. llvm-svn: 209580
* AArch64/ARM64: rename ARM64 components to AArch64Tim Northover2014-05-2431-780/+796
| | | | | | This keeps Clang consistent with backend naming conventions. llvm-svn: 209579
* AArch64/ARM64: update Clang after AArch64 removal.Tim Northover2014-05-2444-3652/+32
| | | | | | | | | | | A few (mostly CodeGen) parts of Clang were tightly coupled to the AArch64 backend. Now that it's gone, they will not even compile. I've also deduplicated RUN lines in many of the AArch64 tests. This might improve "make check-all" time noticably: some of those NEON tests were monsters. llvm-svn: 209578
* AArch64/ARM64: move ARM64 into AArch64's placeTim Northover2014-05-24636-14518/+14412
| | | | | | | | | | | | | | | This commit starts with a "git mv ARM64 AArch64" and continues out from there, renaming the C++ classes, intrinsics, and other target-local objects for consistency. "ARM64" test directories are also moved, and tests that began their life in ARM64 use an arm64 triple, those from AArch64 use an aarch64 triple. Both should be equivalent though. This finishes the AArch64 merge, and everyone should feel free to continue committing as normal now. llvm-svn: 209577
* AArch64/ARM64: remove AArch64 from tree prior to renaming ARM64.Tim Northover2014-05-24355-67373/+73
| | | | | | | | | | | | | | | | I'm doing this in two phases for a better "git blame" record. This commit removes the previous AArch64 backend and redirects all functionality to ARM64. It also deduplicates test-lines and removes orphaned AArch64 tests. The next step will be "git mv ARM64 AArch64" and rewire most of the tests. Hopefully LLVM is still functional, though it would be even better if no-one ever had to care because the rename happens straight afterwards. llvm-svn: 209576
* Expose diagnostic info to usersAndreas Simbuerger2014-05-241-0/+7
| | | | llvm-svn: 209575
OpenPOWER on IntegriCloud