summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Implement -Wconversion. Off by default, in the non-gcc group. There'sJohn McCall2009-11-076-11/+261
| | | | | | significant work left to be done to reduce the false-positive rate here. llvm-svn: 86326
* Update CMake file.Ted Kremenek2009-11-071-0/+1
| | | | llvm-svn: 86325
* Add code to check at SelectionDAGISel::LowerArguments time to see if return ↵Kenneth Uildriks2009-11-076-0/+111
| | | | | | values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers llvm-svn: 86324
* Add basic code completion support for ObjC messages.Steve Naroff2009-11-075-0/+175
| | | | | | Still a work in progress... llvm-svn: 86323
* Fix inverted conflict test in -early-coalesce.Jakob Stoklund Olesen2009-11-072-17/+19
| | | | | | | | | | A non-identity copy cannot be coalesced when the phi join destination register is live at the copy site. Also verify the condition that the PHI join source register is only used in the PHI join. Otherwise the coalescing is invalid. llvm-svn: 86322
* Revert following patches to fix llvmgcc bootstrap.Devang Patel2009-11-073-403/+234
| | | | | | | 86289, 86278, 86270, 86267, 86266 & 86264 Chris, please take a look. llvm-svn: 86321
* Revert r86315 and add Type::FixedWidthInt to the FIXME cases.Anders Carlsson2009-11-071-0/+2
| | | | llvm-svn: 86320
* My previous patch (r84124) for setting the encoding bits 4 and 7 of DPSoRegFrmJohnny Chen2009-11-071-34/+9
| | | | | | | | | was wrong and too aggressive in the sense that DPSoRegFrm includes both constant shifts (with Inst{4} = 0) and register controlled shifts (with Inst{4} = 1 and Inst{7} = 0). The 'rr' fragment of the multiclass definitions actually means register/register with no shift, see A8-11. llvm-svn: 86319
* MIPS linkage name confuses gdb here. Generate and test DW_AT_name here.Devang Patel2009-11-071-1/+1
| | | | llvm-svn: 86318
* - new SROA mallocs should have the mallocs running-or'ed, not the malloc's ↵Victor Hernandez2009-11-071-19/+22
| | | | | | | | bitcast - fix ProcessInternalGlobal() debug output llvm-svn: 86317
* Fit in 80 columnsVictor Hernandez2009-11-071-2/+4
| | | | llvm-svn: 86316
* Do not assert if debug info for certain type is not generated.Devang Patel2009-11-071-1/+0
| | | | llvm-svn: 86315
* Avoid "ambiguous 'else'" warning from gcc.Jeffrey Yasskin2009-11-071-1/+2
| | | | llvm-svn: 86314
* Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions.Victor Hernandez2009-11-0719-202/+252
| | | | | | | | | | | | | | | | | | | | | | | Here is the original commit message: This commit updates malloc optimizations to operate on malloc calls that have constant int size arguments. Update CreateMalloc so that its callers specify the size to allocate: MallocInst-autoupgrade users use non-TargetData-computed allocation sizes. Optimization uses use TargetData to compute the allocation size. Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays. Extend getMallocType() to support malloc calls that have non-bitcast uses. Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly. Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use. Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use. Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes. llvm-svn: 86311
* 80-columnsJim Grosbach2009-11-071-1/+1
| | | | llvm-svn: 86310
* Do not emit linkage name for global variables. It confuses gdb, because it ↵Devang Patel2009-11-071-1/+3
| | | | | | picks up AT_MIPS_linkage_name and ignores AT_name. llvm-svn: 86308
* Make sure isCopyAssignment is only true for actual copy assignment operators,Eli Friedman2009-11-073-1/+12
| | | | | | | | instead of all assignment operators. The mistake messes up IRGen because it ends up assuming that the assignment operator is actually the implicit copy assignment operator, and therefore tries to emit the RHS as an lvalue. llvm-svn: 86307
* Various improvements to Clang's code-completion infrastructure:Douglas Gregor2009-11-079-65/+1424
| | | | | | | | | | | | | | - Introduce more code-completion string "chunk" kinds that describe symbols, the actual text that the user is expected to type, etc. - Make the generation of macro results optional, since it can be slow - Make code-completion accessible through the C API, marshalling the code-completion results through a temporary file (ick) to maintain process separation. The last doesn't have tests yet. llvm-svn: 86306
* Give the JITResolver a direct pointer to its JITEmitter, and use that insteadJeffrey Yasskin2009-11-071-235/+234
| | | | | | | of going through the global TheJIT variable. This makes it easier to use features of JITEmitter that aren't in JITCodeEmitter for fixing PR5201. llvm-svn: 86305
* - Add pseudo instructions tLDRpci_pic and t2LDRpci_pic which does a pc-relativeEvan Cheng2009-11-0615-59/+258
| | | | | | | | | | | | load of a GV from constantpool and then add pc. It allows the code sequence to be rematerializable so it would be hoisted by machine licm. - Add a late pass to break these pseudo instructions into a number of real instructions. Also move the code in Thumb2 IT pass that breaks up t2MOVi32imm to this pass. This is done before post regalloc scheduling to allow the scheduler to proper schedule these instructions. It also allow them to be if-converted and shrunk by later passes. llvm-svn: 86304
* Honour subreg machine operands during asmprintingAnton Korobeynikov2009-11-062-0/+67
| | | | llvm-svn: 86303
* Print VMOV (immediate) operands as hexadecimal values. Apple's assemblerBob Wilson2009-11-064-8/+59
| | | | | | | | | will not accept negative values for these. LLVM's default operand printing sign extends values, so that valid unsigned values appear as negative immediates. Print all VMOV immediate operands as hex values to resolve this. Radar 7372576. llvm-svn: 86301
* Refine the non-virtual this adjustment. Optimize out virtual thisMike Stump2009-11-062-55/+69
| | | | | | adjustments of zero. llvm-svn: 86300
* Fix a bug where we'd call SplitBlockPredecessors with a pred in the Chris Lattner2009-11-061-2/+11
| | | | | | set only once even if it has multiple edges to BB. llvm-svn: 86299
* Fix a broken test.Bob Wilson2009-11-061-1/+1
| | | | llvm-svn: 86298
* Since default writable attribute is 'assign', allowFariborz Jahanian2009-11-062-2/+3
| | | | | | | | | | specification of 'assign' (no warning to be issued), when a continuation class makes a 'readonly' attribute 'readwrite' but also specifies the 'assign' attribute. (this matches gcc's behavior and prevents exessive warnings)/ llvm-svn: 86297
* Fix comment typos.Bob Wilson2009-11-061-3/+3
| | | | llvm-svn: 86295
* Remove ARMPCLabelIndex from ARMISelLowering. Use ↵Evan Cheng2009-11-063-17/+42
| | | | | | ARMFunctionInfo::createConstPoolEntryUId() instead. llvm-svn: 86294
* Make fragile-abi test run happy.Fariborz Jahanian2009-11-061-1/+1
| | | | llvm-svn: 86293
* Make the VLASizeChecker implementation private, and its creation only known ↵Ted Kremenek2009-11-064-50/+38
| | | | | | to GRExprEngineInternalChecks.cpp. llvm-svn: 86292
* Fix a bogus objective-c warning with -pedantic.Fariborz Jahanian2009-11-062-0/+20
| | | | | | (radar 7370882). llvm-svn: 86291
* CallInst::CreateMalloc() and CallInst::CreateFree() need to create calls ↵Victor Hernandez2009-11-061-2/+4
| | | | | | with correct calling convention llvm-svn: 86290
* Remove function left over from other jump threading cleanup.Eli Friedman2009-11-061-24/+0
| | | | llvm-svn: 86289
* Make the implementation of DivZeroChecker private.Ted Kremenek2009-11-064-37/+27
| | | | llvm-svn: 86288
* Prevent a code gen. crash on empty unions - pr5408.Fariborz Jahanian2009-11-062-1/+15
| | | | llvm-svn: 86287
* testing: Merge PR3135.c into misc-ps-region-store.m.Ted Kremenek2009-11-062-20/+16
| | | | llvm-svn: 86286
* Sentence-case bug type, and pull tests from region-only-test.c into ↵Ted Kremenek2009-11-063-25/+37
| | | | | | misc-ps-region.store.m (removing an extra unneeded test file). Also add a bunch of FIXME comments for future enhancements. llvm-svn: 86282
* fix typoGabor Greif2009-11-061-0/+0
| | | | llvm-svn: 86281
* Fix a problem discovered on self host.Chris Lattner2009-11-062-1/+23
| | | | llvm-svn: 86278
* Simplify the debug info code, handle lvalue references and template ↵Anders Carlsson2009-11-063-13/+37
| | | | | | specializations. llvm-svn: 86277
* This patch fixes code gen. part of pr5333 (ConversionFariborz Jahanian2009-11-062-1/+27
| | | | | | using elipsis conversion). llvm-svn: 86276
* Handle QualifiedNameType and SubstTemplateTypeParmType types in ↵Anders Carlsson2009-11-062-0/+17
| | | | | | CGDebugInfo::CreateTypeNode. llvm-svn: 86274
* add test case for PR3135 which was already fixedNuno Lopes2009-11-061-0/+20
| | | | llvm-svn: 86273
* remove more code subsumed by r86264Chris Lattner2009-11-061-83/+17
| | | | llvm-svn: 86270
* Tolerate invalid derived type.Devang Patel2009-11-062-0/+17
| | | | llvm-svn: 86269
* Don't assert when trying to generate debug info for vector types. This needs ↵Anders Carlsson2009-11-061-0/+4
| | | | | | to be fixed eventually... llvm-svn: 86268
* eliminate some more code subsumed by r86264Chris Lattner2009-11-061-41/+4
| | | | llvm-svn: 86267
* remove now redundant code, r86264 handles this case.Chris Lattner2009-11-061-66/+0
| | | | llvm-svn: 86266
* Don't warn -Wsign-compare if we're in an unevaluated context, and fixedJohn McCall2009-11-062-1/+5
| | | | | | a typo pointed out by Fariborz. llvm-svn: 86265
* Extend jump threading to support much more general threadingChris Lattner2009-11-062-27/+356
| | | | | | | | | | | | | | | | | | | | predicates. This allows us to jump thread things like: _ZN12StringSwitchI5ColorE4CaseILj7EEERS1_RAT__KcRKS0_.exit119: %tmp1.i24166 = phi i8 [ 1, %bb5.i117 ], [ %tmp1.i24165, %_Z....exit ], [ %tmp1.i24165, %bb4.i114 ] %toBoolnot.i87 = icmp eq i8 %tmp1.i24166, 0 ; <i1> [#uses=1] %tmp4.i90 = icmp eq i32 %tmp2.i, 6 ; <i1> [#uses=1] %or.cond173 = and i1 %toBoolnot.i87, %tmp4.i90 ; <i1> [#uses=1] br i1 %or.cond173, label %bb4.i96, label %_ZN12... Where it is "obvious" that when coming from %bb5.i117 that the 'and' is always false. This triggers a surprisingly high number of times in the testsuite, and gets us closer to generating good code for doug's strswitch testcase. This also make a bunch of other code in jump threading redundant, I'll rip out in the next patch. This survived an enable-checking llvm-gcc bootstrap. llvm-svn: 86264
OpenPOWER on IntegriCloud