summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Do not crash when performing VisitLValue on union types.Ted Kremenek2008-10-252-3/+17
| | | | | | This fixes PR 2948. llvm-svn: 58148
* Make comments and code for QuietWarnings and QuietErrorsDan Gohman2008-10-252-3/+3
| | | | | | actually correspond to what their names suggest. llvm-svn: 58146
* SDNodes may have at most one Flag result. Update this commentDan Gohman2008-10-251-2/+2
| | | | | | to reflect that. llvm-svn: 58145
* Move the code that adds the DeadMachineInstructionElimPass fromDan Gohman2008-10-252-4/+5
| | | | | | | | | | | | target-independent code to target-specific code. This prevents it from running on targets that aren't using fast-isel. In addition to saving compile time, this addresses the problem that not all targets are prepared for it. In order to use this pass, all instructions must declare all their fixed uses and defs of physical registers. llvm-svn: 58144
* Related to PR2911, reject as invalid non-pointer GC roots.Gordon Henriksen2008-10-252-2/+14
| | | | llvm-svn: 58143
* Support for allocation of TLS variables in the JIT. Allocation of a globalNicolas Geoffray2008-10-257-14/+72
| | | | | | | | variable is moved to the execution engine. The JIT calls the TargetJITInfo to allocate thread local storage. Currently, only linux/x86 knows how to allocate thread local global variables. llvm-svn: 58142
* Generate code for TLS instructions.Nicolas Geoffray2008-10-253-4/+27
| | | | llvm-svn: 58141
* Add a note file for SCA module. Is it the right place?Zhongxing Xu2008-10-251-0/+14
| | | | llvm-svn: 58140
* Added MIPS release notes.Bruno Cardoso Lopes2008-10-251-1/+20
| | | | llvm-svn: 58139
* Add code for get the lvalue for string literals. Now we return a StringRegionZhongxing Xu2008-10-256-11/+41
| | | | | | | for StringLiteral lvalue evaluation, instead of directly returning a loc::StringLiteralVal by the Environment. llvm-svn: 58138
OpenPOWER on IntegriCloud