summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't add live ranges for sub-registers when clobbering a physical register.Jakob Stoklund Olesen2011-04-112-15/+7
| | | | | | | | | Both coalescing and register allocation already check aliases for interference, so these extra segments are only slowing us down. This speeds up both linear scan and the greedy register allocator. llvm-svn: 129283
* Implement ARM emulation function to handle "SUBS PC, LR and related ↵Caroline Tice2011-04-113-43/+247
| | | | | | instructions". llvm-svn: 129279
* Speed up LiveIntervalUnion::unify by handling end insertion specially.Jakob Stoklund Olesen2011-04-111-1/+9
| | | | | | This particularly helps with the initial transfer of fixed intervals. llvm-svn: 129277
* Time the initial seeding of live registersJakob Stoklund Olesen2011-04-111-0/+1
| | | | llvm-svn: 129276
* Don't shrink live ranges after dead code elimination unless it is going to help.Jakob Stoklund Olesen2011-04-111-4/+10
| | | | | | In particular, don't repeatedly recompute the PIC base live range after rematerialization. llvm-svn: 129275
* CMake: remove some unnecesary code and ToDos.Oscar Fuentes2011-04-112-9/+1
| | | | | | Patch by arrowdodger! llvm-svn: 129274
* If there's an invoke destination, we should use invoke instead of call when ↵Anders Carlsson2011-04-112-7/+43
| | | | | | calling the __cxa_bad_typeid function. Fixes PR7400. llvm-svn: 129273
* Fix or remove code which seemed to think that the operand of a ConstantJay Foad2011-04-112-14/+1
| | | | | | was always a User. llvm-svn: 129272
* Don't include Operator.h from InstrTypes.h.Jay Foad2011-04-1124-1/+23
| | | | llvm-svn: 129271
* Phi nodes always use an even number of operands, so don't ever allocateJay Foad2011-04-111-1/+2
| | | | | | an odd number. llvm-svn: 129270
* More __unknown_anytype work.John McCall2011-04-1117-120/+413
| | | | llvm-svn: 129269
* docs/CommandGuide/index.html: Fix CSS url to relative.NAKAMURA Takumi2011-04-111-1/+1
| | | | llvm-svn: 129268
* docs/CommandLine.html: "ize.NAKAMURA Takumi2011-04-111-5/+5
| | | | llvm-svn: 129267
* http://llvm.org/bugs/show_bug.cgi?id=9672Howard Hinnant2011-04-111-2/+2
| | | | llvm-svn: 129266
* Remove CK_DynamicToNull.Anders Carlsson2011-04-1110-27/+3
| | | | llvm-svn: 129265
* When we know that a dynamic_cast always returns null, we can makeAnders Carlsson2011-04-112-10/+51
| | | | | | | CodeGenFunction::EmitDynamicCast always return null or throw a bad_cast exception. llvm-svn: 129264
* Add CXXDynamicCastExpr::isAlwaysNull() which will be replacing the cast kind ↵Anders Carlsson2011-04-112-0/+32
| | | | | | I added. llvm-svn: 129263
* Clean up CodeGenFunction::EmitDynamicCast. No functionality change.Anders Carlsson2011-04-111-104/+141
| | | | llvm-svn: 129262
* Replace a couple of Builder.CreateICmpEQ with Builder.CreateIsNull. No ↵Anders Carlsson2011-04-112-9/+3
| | | | | | functionality change. llvm-svn: 129261
* PR9669: implement correct checking for [dcl.init.string]p2.Eli Friedman2011-04-114-7/+20
| | | | llvm-svn: 129260
* Revert r129235 pending a vetting of the EH rewrite.Bill Wendling2011-04-1010-87/+16
| | | | | | | | | | | | | | | | --- Reverse-merging r129235 into '.': D test/Feature/bb_attrs.ll U include/llvm/BasicBlock.h U include/llvm/Bitcode/LLVMBitCodes.h U lib/VMCore/AsmWriter.cpp U lib/VMCore/BasicBlock.cpp U lib/AsmParser/LLParser.cpp U lib/AsmParser/LLLexer.cpp U lib/AsmParser/LLToken.h U lib/Bitcode/Reader/BitcodeReader.cpp U lib/Bitcode/Writer/BitcodeWriter.cpp llvm-svn: 129259
* Remove the CodeGenCXX/dyncast.cpp test; it isn't really super useful to ↵Anders Carlsson2011-04-101-367/+0
| | | | | | match on huge chunks of LLVM output. llvm-svn: 129258
* As a first step towards fixing PR9641, add a CK_DynamicToNull cast kind whichAnders Carlsson2011-04-1010-3/+27
| | | | | | | | | | | | | | | | | | represents a dynamic cast where we know that the result is always null. For example: struct A { virtual ~A(); }; struct B final : A { }; struct C { }; bool f(B* b) { return dynamic_cast<C*>(b); } llvm-svn: 129256
* Changes to cerrno to protect against the case the ELAST is not defined.Howard Hinnant2011-04-101-1/+19
| | | | llvm-svn: 129255
* Simplify calling CheckPlaceholderExpr, converge on it in a few places,John McCall2011-04-107-71/+50
| | | | | | and move a vector-splat check to follow l-value conversion. llvm-svn: 129254
* Strip off parens and no-op casts when deciding if an expr can be ↵Anders Carlsson2011-04-102-1/+35
| | | | | | devirtualized. Fixes the second half of PR9660. llvm-svn: 129253
* Change CollectPrimaryBases to collect the bases in the right order. Fixes ↵Anders Carlsson2011-04-102-7/+31
| | | | | | one half of PR9660. llvm-svn: 129252
* time_get was missing the %F specifier. This change impacts the binary.Howard Hinnant2011-04-101-0/+6
| | | | llvm-svn: 129251
* Make -fdump-vtable-layouts also dump vtable indices for all virtual member ↵Anders Carlsson2011-04-101-0/+42
| | | | | | functions in the class. llvm-svn: 129250
* Bugfix in the Cpp backend after API change on PHINode::Create.Nicolas Geoffray2011-04-101-1/+1
| | | | llvm-svn: 129248
* CMake: support for using LLVM from client projects with find_package.Oscar Fuentes2011-04-104-6/+42
| | | | | | Patch by arrowdodger! llvm-svn: 129247
* Reflect rename on LLVM cmake file.Oscar Fuentes2011-04-101-1/+1
| | | | llvm-svn: 129246
* Fixed more best practices, and explicit/implicit style guide issues.Garrison Venn2011-04-101-131/+128
| | | | llvm-svn: 129245
* Enhance the diagnostic for literal float -> int conversions to suggestChandler Carruth2011-04-104-11/+51
| | | | | | | | | | | | rewriting the literal when the value is integral. It is not uncommon to see code written as: const int kBigNumber = 42e5; Without any real awareness that this is no longer an ICE. The note helps automate and ease the process of fixing code that violates the warning. llvm-svn: 129243
* Refactor 129240 to merge the old default argument into the new parameter.Francois Pichet2011-04-101-5/+13
| | | | llvm-svn: 129242
* PR9580: Handle vectors correctly in ScalarExprEmitter::EmitRem.Eli Friedman2011-04-102-10/+126
| | | | | | | While I'm here, FileCheck-ize the ext-vector test, so we actually check what it is generating. llvm-svn: 129241
* MSVC accepts that default parameters be redefined for member functionsFrancois Pichet2011-04-103-3/+25
| | | | | | | | of template class. The new value is ignored. This fixes 1 error when parsing MSVC 2010 header files with clang. llvm-svn: 129240
* libclang output name is now libclang. This solves a name collisionOscar Fuentes2011-04-101-2/+2
| | | | | | | | | | when building with Visual Studio. `clang.dll' and `clang.exe' would have the same `clang.ilk' and `clang.pdb'. On a serial build those files would be overwritten as clang.exe/clang.dll are created. On a parallel build there is a risk of both files being written at the same time. On that case VS fails. llvm-svn: 129239
* Reword instructions for running tests on Visual Studio.Oscar Fuentes2011-04-101-1/+3
| | | | | | Suggested by Maël Hörz. llvm-svn: 129237
* Beginning of the Great Exception Handling Rewrite.Bill Wendling2011-04-1010-16/+87
| | | | | | | | | | | | | * Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute. Later: The verifier will ensure that the landing pad attribute is used in the appropriate manner. I.e., not applied to the entry block, and applied only to basic blocks that are branched to via a `dispatch' instruction. (This is a work-in-progress.) llvm-svn: 129235
* Fix a bunch of major problems with __unknown_anytype and properly testJohn McCall2011-04-0914-39/+223
| | | | | | for them. The only major missing feature is references. llvm-svn: 129234
* drive by bug fix: DenseMapInfo::isEqual should be determined according toChris Lattner2011-04-091-1/+4
| | | | | | isEqual of its members, not operator==. llvm-svn: 129233
* LLVMCC_EMITIR_FLAG is already either -emit-llvm or ↵Chris Lattner2011-04-091-10/+10
| | | | | | -fplugin-arg-dragonegg-emit-ir, so don't add an extra leading -. Clang doesn't accept --emit-llvm. llvm-svn: 129232
* Make sure we or together the overflow flags of the multiply and add, so theEli Friedman2011-04-092-2/+3
| | | | | | check is triggered appropriately. Reported on cfe-dev. llvm-svn: 129231
* make stuff work when LLVMCC_OPTION is something like installed-clang, not ↵Chris Lattner2011-04-091-2/+2
| | | | | | just clang. llvm-svn: 129229
* fix rdar://8735979 - "int 3" doesn't match to "int3". Unfortunately,Chris Lattner2011-04-093-0/+23
| | | | | | | InstAlias doesn't allow matching immediate operands, so we have to write C++ code to do this. llvm-svn: 129223
* look for the verboten argument slot access in any order, thanks to FritsChris Lattner2011-04-091-0/+1
| | | | | | for pointing this out llvm-svn: 129217
* strcat() and strncat() model additions to CStringChecker.Lenny Maiorani2011-04-092-9/+222
| | | | | | Validates inputs are not NULL, checks for overlapping strings, concatenates the strings checking for buffer overflow, sets the length of the destination string to the sum of the s1 length and the s2 length, binds the return value to the s1 value. llvm-svn: 129215
* Fix potential buffer overflow on win32.Benjamin Kramer2011-04-091-12/+9
| | | | llvm-svn: 129214
* refactor flags for TokenKinds.defDylan Noblesmith2011-04-091-12/+12
| | | | | | | | Make KEYALL a combination of all other flags instead of its own separate flag. Also rewrite the enum definitions in hex instead of decimal. llvm-svn: 129213
OpenPOWER on IntegriCloud