summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix <rdar://problem/6315646> clang on xcode: error: invalid operands to ↵Steve Naroff2008-10-272-6/+9
| | | | | | | | binary expression ('id<NSTableViewDelegate>' and 'XCExtendedArrayController *'). There is still a bug here (as the FIXME in the test case indicates). Prior to this patch, the bug would generate an error. Now, we simply do nothing (which is less harmful until we can get it right). The complete bug fix will require changing ASTContext::mergeTypes(), which I'd like to defer for now. llvm-svn: 58241
* Avoid crashing if instruction is not part of a loop.Torok Edwin2008-10-271-2/+3
| | | | | | If it is not part of a loop it is obviously invariant wrt to all loops. llvm-svn: 58240
* formatting tweak for intrinsicGabor Greif2008-10-271-1/+1
| | | | llvm-svn: 58239
* export an ID for the instructionNamer, allowing analysis/transformation passesTorok Edwin2008-10-272-0/+2
| | | | | | that need it to require it by ID. llvm-svn: 58238
* Some grammar fixes, and non-invasive format changes.Bill Wendling2008-10-271-53/+54
| | | | llvm-svn: 58237
* Get the canonical type for struct initialization. The original code would ↵Zhongxing Xu2008-10-271-1/+5
| | | | | | crash on TypedefType. llvm-svn: 58236
* Add test for SCA region store.Zhongxing Xu2008-10-271-0/+6
| | | | llvm-svn: 58235
* Add test for SCA region store.Zhongxing Xu2008-10-271-0/+8
| | | | llvm-svn: 58234
* Only loc::MemRegionVal can be modified. This avoids crashing in RegionStore ↵Zhongxing Xu2008-10-271-1/+1
| | | | | | when a function pointer is used as an argument. llvm-svn: 58233
* Turn on LegalizeTypes, the new type legalizationDuncan Sands2008-10-2726-35/+27
| | | | | | | codegen infrastructure, by default. Please report any breakage to the mailing lists. llvm-svn: 58232
* Fix an obvious copy/pasto.Nick Lewycky2008-10-271-4/+4
| | | | llvm-svn: 58231
* For now, don't split live intervals around x87 stack register barriers. ↵Evan Cheng2008-10-276-1/+60
| | | | | | FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them. llvm-svn: 58230
* Rewrite all the 'PromoteLocallyUsedAlloca[s]' logic. With the power ofChris Lattner2008-10-271-175/+97
| | | | | | | | | | | | | | | | LargeBlockInfo, we can now dramatically simplify their implementation and speed them up at the same time. Now the code has time proportional to the number of uses of the alloca, not the size of the block. This also eliminates code that tried to batch up different allocas which are used in the same blocks, and eliminates the 'retry list' logic which was baroque and no unneccesary. In addition to being a speedup for crazy cases, this is also a nice cleanup: PromoteMemoryToRegister.cpp | 270 +++++++++++++++----------------------------- 1 file changed, 96 insertions(+), 174 deletions(-) llvm-svn: 58229
* no need to print outputChris Lattner2008-10-271-1/+1
| | | | llvm-svn: 58228
* Add a new LargeBlockInfo helper, which is just a wrapper aroundChris Lattner2008-10-271-57/+123
| | | | | | | | | a trivial dense map. Use this in RewriteSingleStoreAlloca to avoid aggressively rescanning blocks over and over again. This fixes PR2925, speeding up mem2reg on the testcase in that bug from 4.56s to 0.02s in a debug build on my machine. llvm-svn: 58227
* mention getresult -> extractvalue (PR2935)Chris Lattner2008-10-271-0/+4
| | | | llvm-svn: 58226
* Increase default setting of tail-merge-threshold toDale Johannesen2008-10-271-1/+1
| | | | | | 150, based on llvm-test measurements. llvm-svn: 58225
* Rename Characteristic_t to CharacteristicKindChris Lattner2008-10-2711-31/+35
| | | | llvm-svn: 58224
* Fix the definition of __builtin_va_list on PPC, which was set to the V4 ABI, ↵Chris Lattner2008-10-271-2/+4
| | | | | | | | not the darwin or AIX abis. This fixes PR2904. llvm-svn: 58222
* Remove -check-exit-code from bugpoint. This is subsumed by -append-exit-code.Nick Lewycky2008-10-263-29/+5
| | | | | | Note that -check-exit-code was on by default while -append-exit-code is not. llvm-svn: 58221
* make codegen reject initializes with designators, like this:Chris Lattner2008-10-264-3/+25
| | | | | | | | t.c:1:13: error: cannot codegen this designators yet int a[10] = {2, 4, [8]=9, 10}; ^~~~~~~~~~~~~~~~~ llvm-svn: 58220
* Remember whether an initlist had a designator in the AST.Chris Lattner2008-10-266-13/+22
| | | | llvm-svn: 58218
* pass designators into sema. This completes parser-level designatorChris Lattner2008-10-266-11/+30
| | | | | | support as far as I know. llvm-svn: 58217
* implement some more FIXMEs, by rejecting more bogus stuff inChris Lattner2008-10-262-5/+41
| | | | | | objc mode. llvm-svn: 58216
* add some simple designator testcases. Reject things like this:Chris Lattner2008-10-264-7/+36
| | | | | | | | | | | struct foo Y[10] = { [4] .arr [2] 4 // expected-error {{expected '=' or another designator}} }; because the "missing equals" extension only is valid if there is exactly one array designator. llvm-svn: 58215
* improve comments, build array and array range designator nodes, Chris Lattner2008-10-261-7/+23
| | | | | | fix an obscure memory leak. llvm-svn: 58213
* improve comments, build a Designation for field designators andChris Lattner2008-10-262-9/+28
| | | | | | improve diagnostic for a malformed field designator. llvm-svn: 58212
* restructure ParseInitializerWithPotentialDesignator to make itChris Lattner2008-10-261-76/+75
| | | | | | easier to understand and hack on, no functionality change. llvm-svn: 58210
* improve MayBeDesignationStart to do the entire determination Chris Lattner2008-10-261-17/+12
| | | | | | about whether a leading identifier is a designator. llvm-svn: 58207
* inline the decision logic that chooses between an assign expr and braceChris Lattner2008-10-262-9/+15
| | | | | | | initializer, avoiding an extra level of calls for silly things like 'int x = 4'. llvm-svn: 58206
* This patch continues parser-level implementation of designators:Chris Lattner2008-10-266-26/+257
| | | | | | | | | | | 1. It introduces new parser level abstractions for designators that are used to communicate between parser and sema. 2. This fixes a FIXME where "identifier ':'" was considered to be a designator even if it wasn't the first in a designator list. 3. In the "identifier ':'" case, it actually builds the designator representation. llvm-svn: 58205
* minor cleanupsChris Lattner2008-10-261-3/+5
| | | | llvm-svn: 58203
* fix PR2953, an off-by-one error handling formatted i/o. Chris Lattner2008-10-261-1/+1
| | | | | | Thanks to Török Edwin for the awesome reduced testcase. llvm-svn: 58199
* Allow \n for newlines in expected error messages.Sebastian Redl2008-10-261-0/+4
| | | | llvm-svn: 58198
* remove eh output from this test.Chris Lattner2008-10-261-6/+6
| | | | llvm-svn: 58196
* Don't give a default argument to ASTContext::getFunctionType for the ↵Argyrios Kyrtzidis2008-10-267-21/+27
| | | | | | | | | TypeQuals parameter, it causes subtle bugs where TypeQuals, while necessary, are omitted from the call. -Remove the default argument. -Update all call sites of ASTContext::getFunctionType. llvm-svn: 58187
* Add a default constructor to AsmWriterOperand to make VS2008sp1 happy. ↵Cedric Venet2008-10-261-0/+3
| | | | | | (AsmWriterOperand is used in a std::pair, and VS need to generate the default constructor of this pair). llvm-svn: 58185
* Do not shrink wrap live interval in a mbb if it's livein any of its ↵Evan Cheng2008-10-262-6/+57
| | | | | | successor blocks. The mbb can be revisited again after all of the successors are processed. llvm-svn: 58184
* Return something (i.e. NULL) from an unimplemented virtual function.Oscar Fuentes2008-10-261-0/+1
| | | | llvm-svn: 58183
* Remove loc::StringLiteralVal. Now we allocate regions for string literals in ↵Zhongxing Xu2008-10-266-46/+1
| | | | | | the Store. llvm-svn: 58182
* Simplify ArrayToPointer conversion. Actually the only thing we need to do is ↵Zhongxing Xu2008-10-261-29/+5
| | | | | | to get the first element region. It is not necessary to care about the kind of the base array region. llvm-svn: 58181
* CMake: Builds and installs clang binary and libs (no docs yet). ItOscar Fuentes2008-10-2613-0/+271
| | | | | | must be under the `tools' subdirectory of the LLVM *source* tree. llvm-svn: 58180
* CMake: If we have `clang' under the `tools/' subdirectory, add it toOscar Fuentes2008-10-261-0/+4
| | | | | | the build. llvm-svn: 58179
* CMake: Support for LLVM_USED_LIBS variable, which is the cmakeOscar Fuentes2008-10-261-0/+5
| | | | | | counterpart of USED_LIBS. llvm-svn: 58178
* CMake: Removed unnecessary macro definitions. They are defined inOscar Fuentes2008-10-261-6/+0
| | | | | | config.h llvm-svn: 58177
* CMake: GetTargetTriple: new module for determining the targetOscar Fuentes2008-10-264-11/+30
| | | | | | triple. Assign to LLVM_HOSTTRIPLE so it figures in config.h. llvm-svn: 58176
* Fix type-o in ExprMapKeyType::operator ==(). The "&&" was missing.Bill Wendling2008-10-261-1/+1
| | | | | | Patch by Frits van Bommel! llvm-svn: 58175
* Handle cases where there aren't uses in the barrier mbb.Evan Cheng2008-10-252-1/+61
| | | | llvm-svn: 58174
* Add storeRegTo{StackSlot|Addr} and loadRegFrom{StackSlot|Addr} descriptions.Evan Cheng2008-10-251-0/+17
| | | | llvm-svn: 58164
* Use string literal for format string specifier; this prevents ErrMsg from ↵Ted Kremenek2008-10-251-1/+1
| | | | | | being interpretted as a format string specifier. llvm-svn: 58150
OpenPOWER on IntegriCloud