summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Prepare PCH reader and writer for (de-)serialization of statements. NoDouglas Gregor2009-04-165-200/+209
| | | | | | functionality change. llvm-svn: 69319
* Fix PR3994: LLVMMatchType arguments do not refer to absolute return valueBob Wilson2009-04-162-10/+18
| | | | | | | | | | and argument positions but only to the overloaded intrinsic parameters. Keep a separate list of these overloaded parameters in CodeGenTarget.cpp so they can be resolved easily. Remove assertions from IntrinsicEmitter.cpp: they were harmless but confusing, and the assertions elsewhere in TableGen will catch any incorrect values. llvm-svn: 69316
* Removed a no longer needed FIXME comment.Fariborz Jahanian2009-04-161-2/+0
| | | | llvm-svn: 69315
* make sure to unlock keymgr if the JIT is created and destroyed, allChris Lattner2009-04-161-5/+3
| | | | | | | | locks must be matched with unlocks. Also, use calloc to allocate the block so that it is properly zero'd. Thanks to Nick Kledzik for tracking this down. llvm-svn: 69314
* Add a comment to describe LLVMMatchType.Bob Wilson2009-04-161-0/+6
| | | | llvm-svn: 69313
* Fix for PR3944: make mem2reg O(N) instead of O(N^2) in the number of Eli Friedman2009-04-161-19/+11
| | | | | | incoming edges for a block with many predecessors. llvm-svn: 69312
* Handle a pointer type correctly in SCEVExpander::visitAddRecExpr.Dan Gohman2009-04-161-0/+2
| | | | llvm-svn: 69310
* In the list-burr's pseudo two-addr dependency heuristics, don'tDan Gohman2009-04-161-0/+10
| | | | | | | | | add dependencies on nodes with exactly one successor which is a COPY_TO_REGCLASS node. In the case that the copy is coalesced away, the dependence should be on the user of the copy, rather than the copy itself. llvm-svn: 69309
* Handle SUBREG_TO_REG instructions with the same heuristicsDan Gohman2009-04-161-5/+7
| | | | | | as INSERT_SUBREG instructions in the list-burr scheduler. llvm-svn: 69308
* Fix a bug with inttoptr/ptrtoint casts where the pointer has a differentDan Gohman2009-04-162-5/+12
| | | | | | | | size from the integer, requiring zero extension or truncation. Don't create ZExtInsts with pointer types. This fixes a regression in consumer-jpeg. llvm-svn: 69307
* Fix <rdar://problem/6765383> clang-6: clang does not appear to support ↵Steve Naroff2009-04-163-0/+18
| | | | | | declaring a static Block 'const'. llvm-svn: 69306
* Category method synbols must be qualified by gategory name toFariborz Jahanian2009-04-162-4/+8
| | | | | | match gcc's. llvm-svn: 69305
* Do not treat beginning of inlined scope as beginning of normal function ↵Devang Patel2009-04-162-2/+20
| | | | | | | | | | | | | | | | | | | | | scope if the location info is missing. Insetad of doing ... if (inlined_subroutine && known_location) DW_TAG_inline_subroutine else DW_TAG_subprogram do if (inlined_subroutine) { if (known_location) DW_TAG_inline_subroutine } else { DW_TAG_subprogram } llvm-svn: 69300
* Fix a crash bug when comparing overload quality of conversion operators with ↵Sebastian Redl2009-04-1612-80/+587
| | | | | | | | | | | conversion constructors. Remove an atrocious amount of trailing whitespace in the overloaded operator mangler. Sorry, couldn't help myself. Change the DeclType parameter of Sema::CheckReferenceInit to be passed by value instead of reference. It wasn't changed anywhere. Let the parser handle C++'s irregular grammar around assignment-expression and conditional-expression. And finally, the reason for all this stuff: implement C++ semantics for the conditional operator. The implementation is complete except for determining lvalueness. llvm-svn: 69299
* Attempt to fix a read-after-free running test/Sema/designated-initializers.c.Eli Friedman2009-04-161-3/+3
| | | | | | Douglas, can you check that this is doing the right thing? llvm-svn: 69298
* Force target triple for test depending on __weak.Eli Friedman2009-04-161-1/+1
| | | | llvm-svn: 69297
* Minor code simplifications. Don't attempt LSR on theoreticalDan Gohman2009-04-161-12/+6
| | | | | | | targets with pointers larger than 64 bits, due to the code not yet being APInt clean. llvm-svn: 69296
* LSR is no longer a GEP optimizer. It is now an IV expressionDan Gohman2009-04-161-2/+1
| | | | | | optimizer, which just happen to frequently involve optimizing GEPs. llvm-svn: 69295
* Fix SCEVExpander::visitSMaxExpr and SCEVExpander::visitUMaxExpr toDan Gohman2009-04-161-0/+8
| | | | | | | not create ICmpInsts with operands of different types. This fixes a regression in Applications/d/make_dparser. llvm-svn: 69294
* Teach SCEVExpander::InsertCastOfTo to avoid creating inttoptr-of-ptrtointDan Gohman2009-04-162-2/+10
| | | | | | and ptrtoint-of-inttoptr expressions. This fixes a regression in 300.twolf. llvm-svn: 69293
* When we create an implicit CXXTemporaryObjectExpr we don't need to check ↵Anders Carlsson2009-04-161-6/+1
| | | | | | that it's a valid init. Instead, just set it as the VarDecl's initializer. llvm-svn: 69292
* Use ConstantExpr::getIntToPtr instead of SCEVExpander::InsertCastOfTo,Dan Gohman2009-04-161-3/+2
| | | | | | since the operand is always a constant. llvm-svn: 69291
* Use a SCEV expression cast instead of immediately inserting aDan Gohman2009-04-161-8/+8
| | | | | | new instruction with SCEVExpander::InsertCastOfTo. llvm-svn: 69290
* Ensure that the most recent declaration of a tentative definition winsDaniel Dunbar2009-04-162-3/+10
| | | | | | when generating a common definition. llvm-svn: 69287
* Record line number at the beginning of a func.start.Devang Patel2009-04-162-2/+2
| | | | | | This line was accidently lost yesterday. llvm-svn: 69286
* fix PR3995. A scale must be 1, 2, 4 or 8.Rafael Espindola2009-04-162-1/+24
| | | | llvm-svn: 69284
* Pass -fdiagnostics-show-option to clang-cc by default.Daniel Dunbar2009-04-162-0/+7
| | | | | | - <rdar://problem/6796848> implement -fdiagnostics-show-option llvm-svn: 69276
* other half of 69274Chris Lattner2009-04-161-70/+2
| | | | llvm-svn: 69275
* split diagnostic group definitions out into their own file.Chris Lattner2009-04-164-18/+85
| | | | llvm-svn: 69274
* optimize and comment GetDiagInfo.Chris Lattner2009-04-161-6/+32
| | | | llvm-svn: 69273
* merge several scattered tables into StaticDiagInfo.Chris Lattner2009-04-161-144/+19
| | | | llvm-svn: 69272
* Implement Diagnostic::getWarningOptionForDiag with information from tblgen,Chris Lattner2009-04-161-10/+19
| | | | | | this implements -fdiagnostics-show-option in clang-cc. llvm-svn: 69271
* prove diagnostic -> group mapping information.Chris Lattner2009-04-161-1/+13
| | | | llvm-svn: 69270
* tblgen is now passing diagnostic group information in the .inc file, ignore ↵Chris Lattner2009-04-1610-12/+13
| | | | | | it everywhere. llvm-svn: 69269
* implement framework for -fdiagnostics-show-option, but tblgen isn'tChris Lattner2009-04-166-4/+26
| | | | | | passing down the right info yet. llvm-svn: 69268
* Disable the code I added before until I understand what's causing ↵Anders Carlsson2009-04-161-0/+5
| | | | | | default2.cpp to fail. llvm-svn: 69267
* move handling of -pedantic and -pedantic-errors into Diagnostics,Chris Lattner2009-04-163-66/+54
| | | | | | | out of Warnings.cpp. This simplifies warnings.cpp and makes it more efficient. llvm-svn: 69266
* arrange for -Wno-error=foo warnings to be immune to -Werror as Chris Lattner2009-04-164-3/+44
| | | | | | they are supposed to be. llvm-svn: 69265
* change mappings to distinguish between "unset", "set by the user" and Chris Lattner2009-04-162-26/+51
| | | | | | "set to the default value". llvm-svn: 69264
* Driver: Remove the majority of -W* options, the driver doesn'tDaniel Dunbar2009-04-161-70/+0
| | | | | | | generally need to know about these now we don't have to hold clang-cc's hand. llvm-svn: 69263
* use getDiagnosticLevel instead of getDiagnosticMapping, whichChris Lattner2009-04-161-2/+2
| | | | | | is about to become private. llvm-svn: 69262
* Driver: Forward -W* to clang, it can handle all these itself now.Daniel Dunbar2009-04-162-77/+72
| | | | | | Remove clang_W_Group and clang_ignored_W_Group. llvm-svn: 69261
* switch DiagMappings *back* to 4 bits per diag.Chris Lattner2009-04-161-5/+5
| | | | llvm-svn: 69260
* implement -Wno-#warnings etc.Chris Lattner2009-04-161-1/+1
| | | | llvm-svn: 69259
* Expand GEPs in ScalarEvolution expressions. SCEV expressions can nowDan Gohman2009-04-1610-455/+452
| | | | | | | | | | | | | | | | | | | | | have pointer types, though in contrast to C pointer types, SCEV addition is never implicitly scaled. This not only eliminates the need for special code like IndVars' EliminatePointerRecurrence and LSR's own GEP expansion code, it also does a better job because it lets the normal optimizations handle pointer expressions just like integer expressions. Also, since LLVM IR GEPs can't directly index into multi-dimensional VLAs, moving the GEP analysis out of client code and into the SCEV framework makes it easier for clients to handle multi-dimensional VLAs the same way as other arrays. Some existing regression tests show improved optimization. test/CodeGen/ARM/2007-03-13-InstrSched.ll in particular improved to the point where if-conversion started kicking in; I turned it off for this test to preserve the intent of the test. llvm-svn: 69258
* encode subgroups into the clang .inc file. -Wall now works!Chris Lattner2009-04-161-11/+30
| | | | llvm-svn: 69257
* Eliminate pch::TYPE_ATTR, which is never usedDouglas Gregor2009-04-163-38/+24
| | | | llvm-svn: 69256
* PCH support for CompoundLiteralExpr. This is the last C expressionDouglas Gregor2009-04-166-3/+40
| | | | | | | that does not require PCH support for statements. Only AddrLabelExpr, StmtExpr, and BlockExpr remain (for C). llvm-svn: 69255
* In -fast mode do what FastISel does.Devang Patel2009-04-162-30/+71
| | | | | | This code could use some refactoring help! llvm-svn: 69254
* If FastISel is run and it has known DebugLoc then use it.Devang Patel2009-04-163-3/+10
| | | | llvm-svn: 69253
OpenPOWER on IntegriCloud