summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [C++11] Use 'nullptr'. Frontend edition.Craig Topper2014-05-2219-160/+165
| | | | llvm-svn: 209389
* R600/SI: Match fp_to_uint / uint_to_fp for f64Matt Arsenault2014-05-223-2/+25
| | | | llvm-svn: 209388
* MC: formalise some assertions into proper errorsSaleem Abdulrasool2014-05-228-8/+61
| | | | | | | | | Now that clang can be used as an assembler via the IAS, invalid assembler inputs would cause the assertions to trigger. Although we cannot recover from the errors here, nor provide caret diagnostics, attempt to handle them slightly more gracefully by reporting a fatal error. llvm-svn: 209387
* Override runOnMachineFunction for ARMISelDAGToDAG so that we canEric Christopher2014-05-221-0/+7
| | | | | | reset the subtarget on each function. llvm-svn: 209386
* [mach-o] Remove MachOFormat.hpp, everything now uses llvm/Support/MachO.hNick Kledzik2014-05-221-626/+0
| | | | llvm-svn: 209385
* Override runOnMachineFunction for X86ISelDAGToDAG so that we canEric Christopher2014-05-221-0/+7
| | | | | | reset the subtarget on each function. llvm-svn: 209384
* [mach-o] Use lit.local.cfg to enable mach-o test cases to be runNick Kledzik2014-05-222-17/+3
| | | | llvm-svn: 209383
* Avoid using subtarget features when adding X86 specific passes toEric Christopher2014-05-225-14/+17
| | | | | | the pass pipeline. llvm-svn: 209382
* Remove extra local variable.Eric Christopher2014-05-221-2/+1
| | | | llvm-svn: 209381
* Rename createGlobalBaseRegPass -> createX86GlobalBaseRegPass to makeEric Christopher2014-05-223-4/+4
| | | | | | it obvious that it's a target specific pass. llvm-svn: 209380
* [mach-o] parse literal sections into atomsNick Kledzik2014-05-223-3/+147
| | | | llvm-svn: 209379
* Add hasSameType overload to ASTContext for Type pointers. Switch a typeRichard Trieu2014-05-222-2/+5
| | | | | | comparison check to use this instead of calling Type::getCanonicalTypeInternal llvm-svn: 209378
* Fix typo.Eric Christopher2014-05-225-5/+5
| | | | llvm-svn: 209377
* Avoid using subtarget features when initializing the pass pipelineEric Christopher2014-05-222-12/+17
| | | | | | on PPC. llvm-svn: 209376
* Reset the subtarget for DAGToDAG on every iteration of runOnMachineFunction.Eric Christopher2014-05-225-47/+47
| | | | | | | This required updating the generated functions and TD file accordingly to be pointers rather than const references. llvm-svn: 209375
* Reset the subtarget for DAGToDAG on every iteration of runOnMachineFunction.Eric Christopher2014-05-221-1/+2
| | | | llvm-svn: 209374
* Sort includes.Eric Christopher2014-05-221-1/+1
| | | | llvm-svn: 209373
* DebugInfo: Simplify dead variable collection slightly.David Blaikie2014-05-221-3/+1
| | | | | | | | constructSubprogramDIE was already called for every subprogram in every CU when the module was started - there's no need to call it again at module finalization. llvm-svn: 209372
* Fix a bug in SCEV's backedge taken count computation from my prior fix in Jan.Andrew Trick2014-05-222-8/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has to do with the trip count computation for loops with multiple exits, which is quite subtle. Most passes just ask for a single trip count number, so we must be conservative assuming any exit could be taken. Normally, we rely on the "exact" trip count, which was correctly given as "unknown". However, SCEV also gives a "max" back-edge taken count. The loops max BE taken count is conservatively a maximum over the max of each exit's non-exiting iterations count. Note that some exit tests can be skipped so the max loop back-edge taken count can actually exceed the max non-exiting iterations for some exits. However, when we know the loop *latch* cannot be skipped, we can directly use its max taken count disregarding other exits. I previously took the minimum here without checking whether the other exit could be skipped. The correct, and simpler thing to do here is just to directly use the loop latch's max non-exiting iterations as the loops max back-edge count. In the problematic test case, the first loop exit had a max of zero non-exiting iterations, but could be skipped. The loop latch was known not to be skipped but had max of one non-exiting iteration. We incorrectly claimed the loop back-edge could be taken zero times, when it is actually taken one time. Fixes Loop %for.body.i: <multiple exits> Unpredictable backedge-taken count. Loop %for.body.i: max backedge-taken count is 1. llvm-svn: 209358
* Simplify nullptr check.Rui Ueyama2014-05-221-7/+4
| | | | llvm-svn: 209357
* Similar to bitcast, treat addrspacecast as a foldable operand.Eli Bendersky2014-05-222-0/+39
| | | | | | | | Added a test sink-addrspacecast.ll to verify this change. Patch by Jingyue Wu. llvm-svn: 209343
* Fix compilation issues.Eric Christopher2014-05-213-4/+7
| | | | llvm-svn: 209342
* Change ProcessKDP::DoReadMemory() to break up large memoryJason Molenda2014-05-211-1/+25
| | | | | | | | | read requests into smaller chunks; some remote kdp stubs cannot handle memory reads larger than a KB or two & will error out. <rdar://problem/16983125> llvm-svn: 209341
* Make early if conversion dependent upon the subtarget and addEric Christopher2014-05-2110-23/+38
| | | | | | | a subtarget hook to enable. Unconditionally add to the pass pipeline for targets that might want to use it. No functional change. llvm-svn: 209340
* Group the scheduling functions together.Eric Christopher2014-05-211-4/+5
| | | | llvm-svn: 209339
* Revert "DebugInfo: Don't put fission type units in comdat sections."David Blaikie2014-05-216-48/+20
| | | | | | | | | This reverts commit r208930, r208933, and r208975. It seems not all fission consumers are ready to handle this behavior. Reverting until tools are brought up to spec. llvm-svn: 209338
* MC: correct IMAGE_REL_ARM_MOV32T relocation emissionSaleem Abdulrasool2014-05-213-6/+44
| | | | | | | | | | | | This corrects the emission of IMAGE_REL_ARM_MOV32T relocations. Previously, we were avoiding the high portion of the relocation too early. If there was a section-relative relocation with an offset greater than 16-bits (65535), you would end up truncating the high order bits of the offset. Allow the current relocation representation to flow through out the MC layer to the object writer. Use the new ability to restrict recorded relocations to avoid emitting the relocation into the final object. llvm-svn: 209337
* MC: introduce ability to restrict recorded relocationsSaleem Abdulrasool2014-05-212-1/+3
| | | | | | | | | Add support to allow a target specific COFF object writer to restrict the recorded resolutions in the emitted object files. This is motivated by the need in Windows on ARM, where an intermediate relocation needs to be prevented from being emitted in the object file. llvm-svn: 209336
* DebugInfo: Use the SPMap to find the parent CU of inlined functions as they ↵David Blaikie2014-05-213-14/+136
| | | | | | | | | | | | | | | | may not be in the current CU Committed in r209178 then reverted in r209251 due to LTO breakage, here's a proper fix for the case of the missing subprogram DIE. The DIEs were there, just in other compile units. Using the SPMap we can find the right compile unit to search for and produce cross-unit references to describe this kind of inlining. One existing test case needed to be updated because it had a function that wasn't in the CU's subprogram list, so it didn't appear in the SPMap. llvm-svn: 209335
* Fix comment.Rui Ueyama2014-05-211-1/+1
| | | | llvm-svn: 209334
* R600: Add comment describing problems with LowerConstantInitializerMatt Arsenault2014-05-211-0/+10
| | | | llvm-svn: 209333
* VirtualFileSystem: Fix a few directory traversal bugs in VFSWriterJustin Bogner2014-05-213-97/+168
| | | | | | | | | | | There are a couple of issues with writing VFS maps that are awkward to fix within the current mutually recursive approach. Instead, replace the algorithm with an iterative version that uses an explicit stack of directories. Includes tests for cases the old approach was tripping on. llvm-svn: 209332
* R600: Partially fix constant initializers for structs and vectors.Matt Arsenault2014-05-213-6/+88
| | | | | | | This should extend the current workaround to work with structs that only contain legal, scalar types. llvm-svn: 209331
* R600: Add failing testcases for constant initializers.Matt Arsenault2014-05-212-13/+47
| | | | | | | | Constant initializers involving illegal types hit an assertion. Patch by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 209330
* Remove getTargetLowering from TargetPassConfig as the target loweringEric Christopher2014-05-213-11/+10
| | | | | | can change depending upon subtarget/subtarget features for a function. llvm-svn: 209329
* Remove unused member variable from hexagon pass.Eric Christopher2014-05-211-4/+3
| | | | llvm-svn: 209328
* DebugInfo: Ensure concrete out of line variables from inlined functions ↵David Blaikie2014-05-213-21/+30
| | | | | | reference their abstract origins. llvm-svn: 209327
* [X86] Fix a bug in the lowering of BLENDI introduced in r209043.Quentin Colombet2014-05-213-12/+48
| | | | | | | | | | | | | | | | | | | ISD::VSELECT mask uses 1 to identify the first argument and 0 to identify the second argument. On the other hand, BLENDI uses 0 to identify the first argument and 1 to identify the second argument. Fix the generation of the blend mask to account for this difference. The bug did not show up with r209043, because we were not checking for the actual arguments of the blend instruction! This commit also fixes the test cases. Note: The same mask works for the BLENDr variant because the arguments are swapped during instruction selection (see the BLENDXXrr patterns). <rdar://problem/16975435> llvm-svn: 209324
* [PECOFF] Fix unsafe memory access.Rui Ueyama2014-05-211-3/+5
| | | | llvm-svn: 209323
* Provide an aka for the C++ operator name macro diagnosticAlp Toker2014-05-213-5/+5
| | | | llvm-svn: 209322
* Move MCOptions that aren't shared between programs into their specificEric Christopher2014-05-215-27/+20
| | | | | | program and have them initialize the MCOptions struct explicitly. llvm-svn: 209321
* Make a couple of command lines static and remove an unnecessaryEric Christopher2014-05-211-6/+4
| | | | | | initialization. llvm-svn: 209320
* Sema: Implement DR244David Majnemer2014-05-214-22/+21
| | | | | | | | | | | | | | | | Summary: Naming the destructor using a typedef-name for the class-name is well-formed. This fixes PR19620. Reviewers: rsmith, doug.gregor Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3583 llvm-svn: 209319
* Added tests for q{f,s}ThreadInfo for attached processes.Todd Fiala2014-05-211-28/+115
| | | | | | | | | | | | | | | | | | Added helper methods: prep_debug_monitor_and_inferior(): properly handles the two cases of running the stub against an inferior process launched by the stub, and one attached to by the stub. See docs for function: simplifies test creation for tests that want to test the same operations against a launched and attached inferior. Added the q{f,s}ThreadInfo and $qC response comparison test (verifies they both return the same thing) when the process is attached rather than launched by the stub. Modified the previous two tests added to make use of the new prep_debug_monitor_and_inferior() facility. llvm-svn: 209318
* [PECOFF] Check for a Characteristics field of a .debug section.Rui Ueyama2014-05-211-1/+3
| | | | llvm-svn: 209317
* cindex/test_cursor.py: no need to skip implicit decls in testsAlp Toker2014-05-211-8/+1
| | | | | | | | | clang was fixed some time ago to always skip "builtins and other cruft" so tools no longer need hacks like this. Passes nosetests. llvm-svn: 209316
* [Mips] Simplify handling of R_MIPS_LO16 / R_MIPS_HI16 relocationsSimon Atanasyan2014-05-211-8/+8
| | | | | | against _gp_disp symbol. llvm-svn: 209315
* Added gdb-remote tests for q{f,s}ThreadInfo.Todd Fiala2014-05-212-3/+134
| | | | | | | | | The First test verifies that qThreadInfo queries work for stub-launched processes. The second test verifies that $qC after stub-launched inferior returns the same thread as the qThreadInfo queries. llvm-svn: 209314
* Fix clang-query on Windows: flush llvm::outs() after each command.Manuel Klimek2014-05-211-0/+1
| | | | llvm-svn: 209313
* Implement Host::GetThreadName for FreeBSDEd Maste2014-05-211-0/+29
| | | | llvm-svn: 209312
OpenPOWER on IntegriCloud