summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Dial back the speculative fix for PR8954 a bit, so that we only recompute ↵Cameron Zwarich2011-01-111-1/+3
| | | | | | | | dominators once at the beginning of GVN instead of once per iteration. llvm-svn: 123278
* Don't insert DBG_VALUE instructions after the first terminator.Jakob Stoklund Olesen2011-01-111-0/+7
| | | | | | | | For one, MachineBasicBlock::getFirstTerminator() doesn't understand what is happening, and it also makes sense to have all control flow run through the DBG_VALUE. llvm-svn: 123277
* Clean up ARM subtarget code by using Triple ADT.Evan Cheng2011-01-116-13/+15
| | | | llvm-svn: 123276
* Set unnamed_addr for type infos that we are confortable marking as hidden. IRafael Espindola2011-01-114-7/+12
| | | | | | think it is safe to mark all type infos with unnamed_addr, but I am not sure. llvm-svn: 123275
* Appropriately truncate debug info range in dwarf output.Devang Patel2011-01-111-15/+5
| | | | | | This is not yet completely enabled. llvm-svn: 123274
* Put the Dominator improvements back in. They were not the cause of bootstrap ↵Jakob Stoklund Olesen2011-01-112-88/+41
| | | | | | miscomparisons. llvm-svn: 123273
* Add unnamed_addr to vtables.Rafael Espindola2011-01-118-37/+40
| | | | llvm-svn: 123272
* Add back 122079 so we can ignore the argument some more.Eric Christopher2011-01-111-0/+1
| | | | llvm-svn: 123271
* Attempt to fix the bootstrap buildbot. Rafael says this works for him on ↵Cameron Zwarich2011-01-111-0/+1
| | | | | | x86-64 Linux. llvm-svn: 123270
* fix guardHoward Hinnant2011-01-111-2/+2
| | | | llvm-svn: 123269
* [analyzer] Introduce ObjCSelfInitChecker, which checks initialization ↵Argyrios Kyrtzidis2011-01-116-2/+450
| | | | | | | | | methods to verify that they assign 'self' to the result of an initialization call (e.g. [super init], or [self initWith..]) before using any instance variable or returning 'self'. llvm-svn: 123264
* [analyzer] Support post-visiting ObjCIvarRefExprs for checkers.Argyrios Kyrtzidis2011-01-112-1/+8
| | | | llvm-svn: 123263
* [analyzer] Add 'bool ignorePrefix' parameter to ↵Argyrios Kyrtzidis2011-01-112-2/+7
| | | | | | | | | | | cocoa::deriveNamingConvention to control whether the prefix should be ignored. E.g. if ignorePrefix is true, "_init" and "init" selectors will both be result in InitRule, but if ignorePrefix is false, only "init" will return InitRule. llvm-svn: 123262
* [analyzer] Add 'isLoad' parameter in Checker::visitLocation() to ↵Argyrios Kyrtzidis2011-01-115-10/+14
| | | | | | conveniently distinguish between loads/stores. llvm-svn: 123261
* Speculatively revert the recent improvements to Dominators.h in an attempt ↵Jakob Stoklund Olesen2011-01-112-41/+88
| | | | | | to track down the gcc bootstrap miscompare. llvm-svn: 123254
* McARM: Fill in GetMnemonicAcceptInfo().Daniel Dunbar2011-01-111-2/+17
| | | | llvm-svn: 123253
* McARM: Write a silly Python script to compute some hard coded info from theDaniel Dunbar2011-01-111-0/+61
| | | | | | | generated ARM match table, which is substantially more efficient than dealing with tblgen. llvm-svn: 123252
* Remove dead variable, const-ref-ize an APInt.Owen Anderson2011-01-111-4/+1
| | | | llvm-svn: 123248
* this pass claims to preserve scev, make sure to tell it about deletions.Chris Lattner2011-01-111-0/+1
| | | | llvm-svn: 123247
* Fix a comment: We now have intrinsics for vcvtr.Bob Wilson2011-01-111-1/+0
| | | | llvm-svn: 123246
* Add another test for [temp.func.order]p5/[temp.deduct.partial]p11,Douglas Gregor2011-01-111-0/+11
| | | | | | from James Widman. llvm-svn: 123245
* Implement C++ [temp.func.order]p5 more directly, by passing down theDouglas Gregor2011-01-115-157/+156
| | | | | | | | | number of explicit call arguments. This actually fixes an erroneous test for [temp.deduct.partial]p11, where we were considering parameters corresponding to arguments beyond those that were explicitly provided. llvm-svn: 123244
* some comment improvements.Chris Lattner2011-01-112-5/+7
| | | | llvm-svn: 123243
* Fix PR8946, a missing reg/reg form of movdqu.Chris Lattner2011-01-112-0/+6
| | | | llvm-svn: 123242
* Remove special handling for opaque Neon vector types.Bob Wilson2011-01-111-9/+0
| | | | | | Clang does not wrap the vectors in structs anymore so this isn't needed. llvm-svn: 123241
* Remove ProgramPoint parameter from GenericNodeBuilder::generateNode().Ted Kremenek2011-01-113-8/+13
| | | | llvm-svn: 123240
* McARM: Sketch some logic for determining when to add carry set and ↵Daniel Dunbar2011-01-111-4/+48
| | | | | | predication code operands based on the "canonical mnemonic". llvm-svn: 123239
* McARM: Add more hard coded logic to SplitMnemonicAndCC to also split out theDaniel Dunbar2011-01-112-20/+50
| | | | | | | | | | carry setting flag from the mnemonic. Note that this currently involves me disabling a number of working cases in arm_instructions.s, this is a hopefully short term evil which will be rapidly fixed (and greatly surpassed), assuming my current approach flies. llvm-svn: 123238
* Add example from C++0x [temp.deduct.type]p21, which already worksDouglas Gregor2011-01-111-0/+31
| | | | llvm-svn: 123237
* Added warning about invalid register specification for local variables.Abramo Bagnara2011-01-113-5/+31
| | | | llvm-svn: 123236
* FixedNumOperandTraits and VariadicOperandTraits assumed that, given aJay Foad2011-01-118-41/+67
| | | | | | | | | | | "this" pointer for any subclass of User, you could static_cast it to User* and then reinterpret_cast that to Use* to get the end of the operand list. This isn't a safe assumption in general, because the static_cast might adjust the "this" pointer. Fixed by having these OperandTraits classes take an extra template parameter, which is the subclass of User. This is groundwork for PR889. llvm-svn: 123235
* Factor the actual simplification out of SimplifyIndirectBrOnSelect and into ↵Frits van Bommel2011-01-111-26/+37
| | | | | | | | a new helper function so it can be reused in e.g. an upcoming SimplifySwitchOnSelect. No functional change. llvm-svn: 123234
* Add to the CMake build some options and platform tests supported byOscar Fuentes2011-01-113-8/+24
| | | | | | | | the traditional build. Patch by arrowdodger! llvm-svn: 123233
* Made llvm_replace_compiler_option more robust. Use it onOscar Fuentes2011-01-111-7/+14
| | | | | | llvm_process_sources. llvm-svn: 123232
* In Microsoft mode, force 64 bit hex integer constants to signed type if the ↵Francois Pichet2011-01-112-1/+15
| | | | | | | | | | | | | | | | | LL or i64 suffix is used. This MSVC behavior. For example: void f(long long){ printf("long long"); } void f(unsigned long long) { printf("unsigned long long"); } int main() { f(0xffffffffffffffffLL); } Will print "long long" using MSVC. This patch also fixes 16 compile errors related to overloading issues when parsing the MSVC 2008 C++ standard lib. llvm-svn: 123231
* Microsoft integer suffix changes:Francois Pichet2011-01-111-7/+18
| | | | | | | | | i64 is like LL i32 is like L Also set isMicrosoftInteger to true only if the suffix is well formed. llvm-svn: 123230
* Fix a thinko in 123226 that caused test failures on "other" platforms.Kalle Raiskila2011-01-111-1/+1
| | | | llvm-svn: 123229
* Rename GenericNodeBuilder to GenericNodeBuilderRefCount to avoid namespace ↵Francois Pichet2011-01-111-11/+12
| | | | | | clash using MSVC. llvm-svn: 123228
* Revert the testcase from the previous reverted commit.Eric Christopher2011-01-111-2/+0
| | | | llvm-svn: 123227
* Add a "nop filler" pass to SPU.Kalle Raiskila2011-01-116-1/+166
| | | | | | | | | | | | | | | Filling no-ops is done just before emitting of assembly, when the instruction stream is final. No-ops are inserted to align the instructions so the dual-issue of the pipeline is utilized. This speeds up generated code with a minimum of 1% on a select set of algorithms. This pass may be redundant if the instruction scheduler and all subsequent passes that modify the instruction stream (prolog+epilog inserter, register scavenger, are there others?) are made aware of the instruction alignments. llvm-svn: 123226
* Temporarily revert 123133, it's causing some regressions and I'm tryingEric Christopher2011-01-111-8/+4
| | | | | | to get a testcase. llvm-svn: 123225
* update memdep when an instruction is deleted. This code isn'tChris Lattner2011-01-111-2/+5
| | | | | | | actually reached in the testcase in PR8954, but it's safe and good practice. llvm-svn: 123224
* when MergeBlockIntoPredecessor merges two blocks, update MemDep if itChris Lattner2011-01-111-0/+4
| | | | | | is floating around in the ether. llvm-svn: 123223
* Fix FoldSingleEntryPHINodes to update memdep and AA when it deletesChris Lattner2011-01-113-7/+23
| | | | | | | | | | phi nodes. It is called from MergeBlockIntoPredecessor which is called from GVN, which claims to preserve these. I'm skeptical that this is the actual problem behind PR8954, but this is a stab in the right direction. llvm-svn: 123222
* random cleanupsChris Lattner2011-01-112-3/+2
| | | | llvm-svn: 123221
* merge tests into one crash.ll test.Chris Lattner2011-01-116-116/+109
| | | | llvm-svn: 123220
* remove a bogus assertion: the latch block of a loop is not Chris Lattner2011-01-112-6/+36
| | | | | | | neccesarily an uncond branch to the header. This fixes PR8955 (the assertion tripping). llvm-svn: 123219
* the GEP faq says that only inbounds geps are guaranteed to not overflow.Chris Lattner2011-01-111-2/+3
| | | | llvm-svn: 123218
* Rework ExprEngine::processCFGBlockEntrance()Ted Kremenek2011-01-116-25/+118
| | | | | | | | to use a node builder. This paves the way for Checkers to interpose (via a "visit" method) at the entrance to blocks. llvm-svn: 123217
* Remove several silly methods from ento::CoreEngineTed Kremenek2011-01-112-56/+12
| | | | | | that just forwarded to ento::SubEngine. llvm-svn: 123216
OpenPOWER on IntegriCloud