summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* don't depend on ADL.Chris Lattner2007-11-271-1/+1
| | | | llvm-svn: 44351
* Report errors for invalid casts from/to vectors.Anders Carlsson2007-11-274-2/+73
| | | | llvm-svn: 44350
* Add more semantic analysis for inline asm statements.Anders Carlsson2007-11-276-7/+273
| | | | llvm-svn: 44349
* Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. ↵Owen Anderson2007-11-279-53/+86
| | | | | | This involves a small interface change. llvm-svn: 44348
* Add accessor for getting the underlying templated type. This is necessary ↵Owen Anderson2007-11-272-4/+8
| | | | | | for templated LoopInfo. llvm-svn: 44347
* Moving TGLexer.h from source to header file tab in TableGen project fileChuck Rose III2007-11-271-4/+4
| | | | llvm-svn: 44346
* Change &| to |&.Dan Gohman2007-11-272-2/+2
| | | | llvm-svn: 44345
* Change grep '' to grep {}.Dan Gohman2007-11-273-3/+3
| | | | | | Change 2>&1 | to |&. llvm-svn: 44344
* Don't redirect llvm-as's stderr to llvm-dis.Dan Gohman2007-11-271-1/+1
| | | | | | Change grep '' to grep {}. llvm-svn: 44343
* Remove unnecessary && from the RUN lines of this test.Dan Gohman2007-11-271-2/+2
| | | | llvm-svn: 44342
* Don't lower srem/urem X%C to X-X/C*C unless the division is actuallyDan Gohman2007-11-262-14/+24
| | | | | | | | | optimized. This avoids creating illegal divisions when the combiner is running after legalize; this fixes PR1815. Also, it produces better code in the included testcase by avoiding the subtract and multiply when the division isn't optimized. llvm-svn: 44341
* Add TGParser files to VStudio project files. Removed generated files ↵Chuck Rose III2007-11-262-89/+11
| | | | | | section from TableGen project file as it is no longer needed. #Include <algorithm> directly from TGParser.cpp so it can see std::reverse. llvm-svn: 44340
* Added optional pass-by-reference argument "isExact" toTed Kremenek2007-11-262-8/+21
| | | | | | | | | | | NumericLiteralParser::GetFloatValue(). Upon method return, this flag has the value true if the returned APFloat can exactly represent the number in the parsed text, and false otherwise. Modified the implementation of GetFloatValue() to parse literals using APFloat's convertFromString method (which allows us to set the value of isExact). llvm-svn: 44339
* Removed dependence on #including iostream.Ted Kremenek2007-11-261-3/+2
| | | | llvm-svn: 44338
* Fixed #include of objc/objc.h so that it works on case-sensitive filesystems.Ted Kremenek2007-11-261-1/+1
| | | | llvm-svn: 44337
* Reverted changed to getTagDeclType() introduced in patch 44089:Ted Kremenek2007-11-261-8/+5
| | | | | | | | http://llvm.org/viewvc/llvm-project?view=rev&revision=44089 "Decl" once again can no longer be NULL, so the NULL checks are not needed. llvm-svn: 44336
* Fixed a rewrite bug in class synthesis (which I first thought was a rewrite ↵Fariborz Jahanian2007-11-261-4/+6
| | | | | | API bug). llvm-svn: 44335
* Removes link to status page till the info gets added. Someone put us on ↵Kevin2007-11-261-1/+0
| | | | | | | | Reddit; Don't want it to look bad on the project. :) http://programming.reddit.com/info/61f8g/comments/ llvm-svn: 44334
* Patch to fix a regression caused by recent rewrite changes.Fariborz Jahanian2007-11-262-7/+26
| | | | | | A potential API bug in ReplaceText pending (A FIXME is added). llvm-svn: 44333
* Fixed StmtPrinter to handle GCC extension to the ternary operator "?:" whereTed Kremenek2007-11-261-3/+10
| | | | | | the LHS subexpression can be NULL. Patch provided by Nuno Lopes! llvm-svn: 44328
* Fixed bug in CFG construction where we did not properly handle the GCCTed Kremenek2007-11-261-5/+34
| | | | | | | | | | | | extension "?:" for the ternary operator, e.g.: x ?: y; This expression is represented in the clang ASTs as a ConditionalOperator whose LHS expression is NULL. Now we handle this special case, causing the block containing the condition to be a predecessor to the block that "merges" the values of the ternary operator. Thanks to Nuno Lopes for identifying and diagnosing this bug! llvm-svn: 44327
* The checking for the delimiters of expected error/warning messages wasBill Wendling2007-11-265-15/+15
| | | | | | | looking only for { and } instead of {{ and }}. Changed it to check for this explicitly. llvm-svn: 44326
* Fix another bug that was causing siod to fail.Owen Anderson2007-11-261-19/+29
| | | | llvm-svn: 44325
* Fix a silly bug that Nicholas noticed.Owen Anderson2007-11-261-1/+2
| | | | llvm-svn: 44324
* Allow GVN to eliminate read-only function calls when it can detect that they ↵Owen Anderson2007-11-263-6/+24
| | | | | | are redundant. llvm-svn: 44323
* Fix sema support for the gnu ?: expression with a Chris Lattner2007-11-263-6/+31
| | | | | | | | missing middle expression, and fix a codegen bug where we didn't correctly promote the condition to the right result type. This fixes PR1824. llvm-svn: 44322
* this works.Chris Lattner2007-11-261-2/+0
| | | | llvm-svn: 44321
* Remove another leak. Due to some reason AliasSetTracker didn't had any dtor...Anton Korobeynikov2007-11-252-0/+6
| | | | llvm-svn: 44320
* Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops.Nick Lewycky2007-11-258-84/+203
| | | | llvm-svn: 44319
* Implement PR1822Chris Lattner2007-11-252-3/+18
| | | | llvm-svn: 44318
* Remove a leak. Destroy LoopInfoBase object. releaseMemory() is actually ↵Anton Korobeynikov2007-11-251-1/+1
| | | | | | called in its dtor. llvm-svn: 44317
* sizeof() return size in bytes, not bits, patch by Nuno Lopes!Chris Lattner2007-11-251-1/+1
| | | | llvm-svn: 44316
* Fix PR1816. If a bitcast of a function only exists because of aDuncan Sands2007-11-255-35/+101
| | | | | | | | | trivial difference in function attributes, allow calls to it to be converted to direct calls. Based on a patch by Török Edwin. While there, move the various lists of mutually incompatible parameters etc out of the verifier and into ParameterAttributes.h. llvm-svn: 44315
* Don't ignore files that are no longer in use.Reid Spencer2007-11-250-0/+0
| | | | llvm-svn: 44313
* Moved logic for -Wfloat-equal to SemaChecking.cpp.Ted Kremenek2007-11-255-66/+103
| | | | | | | | | Moved utility functions IgnoreParen and friends to be static inline functions defined in SemaUtil.h. Added SemaUtil.h to Xcode project. llvm-svn: 44312
* Check that the clobber registers are valid.Anders Carlsson2007-11-255-5/+82
| | | | llvm-svn: 44311
* Fix a long standing deficiency in the X86 backend: we wouldChris Lattner2007-11-255-97/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sometimes emit "zero" and "all one" vectors multiple times, for example: _test2: pcmpeqd %mm0, %mm0 movq %mm0, _M1 pcmpeqd %mm0, %mm0 movq %mm0, _M2 ret instead of: _test2: pcmpeqd %mm0, %mm0 movq %mm0, _M1 movq %mm0, _M2 ret This patch fixes this by always arranging for zero/one vectors to be defined as v4i32 or v2i32 (SSE/MMX) instead of letting them be any random type. This ensures they get trivially CSE'd on the dag. This fix is also important for LegalizeDAGTypes, as it gets unhappy when the x86 backend wants BUILD_VECTOR(i64 0) to be legal even when 'i64' isn't legal. This patch makes the following changes: 1) X86TargetLowering::LowerBUILD_VECTOR now lowers 0/1 vectors into their canonical types. 2) The now-dead patterns are removed from the SSE/MMX .td files. 3) All the patterns in the .td file that referred to immAllOnesV or immAllZerosV in the wrong form now use *_bc to match them with a bitcast wrapped around them. 4) X86DAGToDAGISel::SelectScalarSSELoad is generalized to handle bitcast'd zero vectors, which simplifies the code actually. 5) getShuffleVectorZeroOrUndef is updated to generate a shuffle that is legal, instead of generating one that is illegal and expecting a later legalize pass to clean it up. 6) isZeroShuffle is generalized to handle bitcast of zeros. 7) several other minor tweaks. This patch is definite goodness, but has the potential to cause random code quality regressions. Please be on the lookout for these and let me know if they happen. llvm-svn: 44310
* Forgot some X86 registersAnders Carlsson2007-11-251-0/+1
| | | | llvm-svn: 44309
* Add tables for GCC register names and aliases. This will be used for inline asmAnders Carlsson2007-11-243-4/+171
| | | | llvm-svn: 44308
* Added more test cases for uninitialized values checker.Ted Kremenek2007-11-241-0/+15
| | | | llvm-svn: 44307
* Fixed bogus culling of uninitialized-values "taint" propagation during ↵Ted Kremenek2007-11-242-10/+35
| | | | | | | | | | | | assignments. We accidentally were throttling the propagation of uninitialized state across assignments (e.g. x = y). Thanks to Anders Carlsson for spotting this problem. Added test cases to test suite to provide regression testing for the uninitialized values analysis. llvm-svn: 44306
* Moved dead-stores test cast to a new test suite subdirectory: Analysis.Ted Kremenek2007-11-242-1/+1
| | | | llvm-svn: 44305
* Implement expand support for MERGE_VALUEs that only produces one result.Chris Lattner2007-11-241-0/+4
| | | | llvm-svn: 44304
* add a immAllZerosV_bc pattern fragment for consistency with others.Chris Lattner2007-11-241-3/+6
| | | | llvm-svn: 44303
* remove bogus assertion that broke CodeGen/Generic/cast-fp.ll on x86Chris Lattner2007-11-241-3/+0
| | | | | | among others. llvm-svn: 44302
* Implement support for custom legalization in DAGTypeLegalizer::ExpandOperand.Chris Lattner2007-11-241-30/+43
| | | | | | | | Improve a comment. Unbreak Duncan's carefully written path compression where I didn't realize what was happening! llvm-svn: 44301
* Several changes:Chris Lattner2007-11-248-149/+277
| | | | | | | | | | | | | | | | | | | | | 1) Change the interface to TargetLowering::ExpandOperationResult to take and return entire NODES that need a result expanded, not just the value. This allows us to handle things like READCYCLECOUNTER, which returns two values. 2) Implement (extremely limited) support in LegalizeDAG::ExpandOp for MERGE_VALUES. 3) Reimplement custom lowering in LegalizeDAGTypes in terms of the new ExpandOperationResult. This makes the result simpler and fully general. 4) Implement (fully general) expand support for MERGE_VALUES in LegalizeDAGTypes. 5) Implement ExpandOperationResult support for ARM f64->i64 bitconvert and ARM i64 shifts, allowing them to work with LegalizeDAGTypes. 6) Implement ExpandOperationResult support for X86 READCYCLECOUNTER and FP_TO_SINT, allowing them to work with LegalizeDAGTypes. LegalizeDAGTypes now passes several more X86 codegen tests when enabled and when type legalization in LegalizeDAG is ifdef'd out. llvm-svn: 44300
* add a noteChris Lattner2007-11-241-0/+21
| | | | llvm-svn: 44299
* upgrade this testChris Lattner2007-11-241-8/+6
| | | | llvm-svn: 44298
* Keep track of whether the asm is volatile or not.Anders Carlsson2007-11-238-6/+23
| | | | llvm-svn: 44297
OpenPOWER on IntegriCloud