summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* a bunch of ssse3 instructions are misencoded to think they have an Chris Lattner2010-04-172-0/+10
| | | | | | i8 field when they really do not. This fixes rdar://7840289 llvm-svn: 101629
* reenable r101565, removing a problematic assertion.Chris Lattner2010-04-172-5/+2
| | | | | | | | | | | CGSCC can delete nodes in regions of the callgraph that have already been visited. If new CG nodes are allocated to the same pointer, we shouldn't abort, just handle it correctly by assigning a new number. This should restore stability by removing invalidated pointers that *will* be reused from the densemap in the iterator. llvm-svn: 101628
* Postra machine licm must add registers defined by loop invariants to *all* ofEvan Cheng2010-04-171-48/+23
| | | | | | | | the live-in sets of BBs in the loop. Otherwise later pass may end up using the registers and override the invariant. rdar://7852937 No reasonablly sized test case possible. llvm-svn: 101626
* Refresh this documentation. Things have changed a bit in the mean time:Nick Lewycky2010-04-171-11/+24
| | | | | | | | - LLVMgold.so --> libLLVMgold.so - the GCC LTO project is no longer 'upcoming' - document the plugin support for 'ar' and 'nm' llvm-svn: 101624
* revert r101568, which miscompiles this testcase, distilled from ldecod:Chris Lattner2010-04-173-17/+9
| | | | | | | | | | void exit_picture() { char yuv_types[4][6]= {"4:0:0","4:2:0","4:2:2","4:4:4"}; foo(yuv_types); } llvm-svn: 101623
* Fix codegen passes. -disable-ssc shouldn't disable postra machine licm.Evan Cheng2010-04-171-5/+11
| | | | llvm-svn: 101622
* More work to allow dag combiner to promote 16-bit ops to 32-bit.Evan Cheng2010-04-177-56/+208
| | | | llvm-svn: 101621
* Another 80 col violation.Evan Cheng2010-04-171-1/+2
| | | | llvm-svn: 101620
* Driver: Add missing claim() for -mllvm options.Daniel Dunbar2010-04-171-0/+2
| | | | llvm-svn: 101618
* Revise my previous change to ExpandBIT_CONVERT. I hadn't realized that thisBob Wilson2010-04-171-12/+22
| | | | | | | | | may be called when either the source or destination type is i64, and my change also hadn't fixed the most obvious problem -- assuming that i64 will only be bitconverted to f64, ignoring the various vector types. Radar 7873160. llvm-svn: 101615
* Add nounwind.Evan Cheng2010-04-171-6/+6
| | | | llvm-svn: 101613
* Re-commit my previous SSAUpdater changes. The previous version naively triedBob Wilson2010-04-173-188/+501
| | | | | | | | | | | to determine where to place PHIs by iteratively comparing reaching definitions at each block. That was just plain wrong. This version now computes the dominator tree within the subset of the CFG where PHIs may need to be placed, and then places the PHIs in the iterated dominance frontier of each definition. The rest of the patch is mostly the same, with a few more performance improvements added in. llvm-svn: 101612
* New test to verify that we see constant integers here.Eric Christopher2010-04-171-0/+8
| | | | llvm-svn: 101611
* Consolidate most of the integer constant expression builtin requirementEric Christopher2010-04-176-85/+60
| | | | | | | | checking into a single function and use that throughout. Remove some now unnecessary diagnostics and update tests with now more accurate diagnostics. llvm-svn: 101610
* As a temporary workaround for post-RA not handling DebugValue instructions,Bob Wilson2010-04-171-0/+11
| | | | | | | just remove them all. Radar 7873207 (working around the root problem of Radar 7759363). llvm-svn: 101604
* Revert "Use a simpler data structure to calculate the least recently used ↵Jakob Stoklund Olesen2010-04-171-41/+112
| | | | | | | | register in RegAllocLocal." This reverts commit 101392. It broke a buildbot. llvm-svn: 101595
* Wrap 'data' key in quotes.Ted Kremenek2010-04-171-1/+1
| | | | llvm-svn: 101594
* Make script actually work.Ted Kremenek2010-04-171-1/+1
| | | | llvm-svn: 101591
* Log code completion data in json format.Ted Kremenek2010-04-171-4/+7
| | | | llvm-svn: 101587
* Send code completion data in json format.Ted Kremenek2010-04-171-7/+9
| | | | llvm-svn: 101586
* Remove unneeded assertion and don't return a null CXString.Ted Kremenek2010-04-171-3/+1
| | | | llvm-svn: 101585
* Reapply 101503+101520. These are "obviously correct" [Chris]Dale Johannesen2010-04-171-2/+2
| | | | | | and don't cause any problems on Darwin. llvm-svn: 101584
* disable r101565: an assert is getting triggered. More lurking badness no doubt.Chris Lattner2010-04-171-0/+2
| | | | llvm-svn: 101583
* add a noteChris Lattner2010-04-161-0/+5
| | | | llvm-svn: 101581
* emit warn_char_constant_too_large at most once per literal, fixing PR6852Chris Lattner2010-04-162-1/+10
| | | | llvm-svn: 101580
* Revert 101465, it broke internal OpenGL testing.Eric Christopher2010-04-1644-579/+588
| | | | | | | Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
* make our existing "switch on bool" warning work for C. SinceChris Lattner2010-04-165-4/+79
| | | | | | | the result of comparisons are 'int' in C, it doesn't work to test just the result type of the expression. llvm-svn: 101576
* Add support to emit dwarf ranges.Devang Patel2010-04-165-5/+65
| | | | llvm-svn: 101575
* Use a simpler data structure to calculate the least recently used register ↵Jakob Stoklund Olesen2010-04-161-112/+41
| | | | | | | | in RegAllocLocal. This makes the local register allocator about 20% faster. llvm-svn: 101574
* Cast to (uint64_t) instead of relying on the "ul" suffix.Johnny Chen2010-04-161-1/+1
| | | | llvm-svn: 101573
* If a non-noreturn virtual member function is guaranteed not to return,Douglas Gregor2010-04-162-5/+21
| | | | | | | do *not* suggest that the function could be attribute 'noreturn'; overridden functions may end up returning. llvm-svn: 101572
* Switch Sema::FindCompositePointerType() over to InitializationSequence. Douglas Gregor2010-04-163-42/+72
| | | | | | | This is the last of the uses of TryImplicitConversion outside of overload resolution and InitializationSequence itself. llvm-svn: 101569
* fix PR6766: codegen of var initialized with wide charNuno Lopes2010-04-163-9/+17
| | | | llvm-svn: 101568
* Add a getSelectionDAGInfo member to TargetMachine.Dan Gohman2010-04-161-0/+2
| | | | llvm-svn: 101567
* update docs for api change.Chris Lattner2010-04-161-1/+1
| | | | llvm-svn: 101566
* building on the new CallGraphSCC abstraction, teach CallGraphSCCPassManager Chris Lattner2010-04-162-0/+14
| | | | | | | | | | | | to keep the node entries in scc_iterator up to date instead of dangling as the SCC mutates. This is a really terrible problem which was causing -g to affect codegen because it would permute the memory image of the compiler process. Thanks to Dale for expertly hunting it down. llvm-svn: 101565
* Add skeleton target-specific SelectionDAGInfo files.Dan Gohman2010-04-1639-0/+676
| | | | llvm-svn: 101564
* Fixed logic error. Should check Builder for validity before calling SetSessionJohnny Chen2010-04-161-3/+2
| | | | | | on it. llvm-svn: 101563
* move ReplaceNode out of line, rename scc_iterator::fini -> isAtEnd().Chris Lattner2010-04-163-18/+20
| | | | | | No functionality change. llvm-svn: 101562
* Regenerate configure script.Dan Gohman2010-04-161-2/+114
| | | | llvm-svn: 101561
* Add an autoconf check for -retain-symbols-file and conditionalizeDan Gohman2010-04-164-7/+56
| | | | | | | use of that option with it. This eliminates an imprecise "Linux" test, and should help support old versions of gold. llvm-svn: 101560
* Minor change to make the test case comply with Vd<0> == '0' when Q == '1'.Johnny Chen2010-04-161-1/+1
| | | | llvm-svn: 101559
* introduce a new CallGraphSCC class, and pass it aroundChris Lattner2010-04-1610-86/+132
| | | | | | | | to CallGraphSCCPass's instead of passing around a std::vector<CallGraphNode*>. No functionality change, but now we have a much tidier interface. llvm-svn: 101558
* Fixed a bug in DisassembleN1RegModImmFrm() where a break stmt was missing for aJohnny Chen2010-04-164-5/+29
| | | | | | | | | | case. Also, the 0xFF hex literal involved in the shift for ESize64 should be suffixed "ul" to preserve the shift result. Implemented printHex*ImmOperand() by copying from ARMAsmPrinter.cpp and added a test case for DisassembleN1RegModImmFrm()/printHex64ImmOperand(). llvm-svn: 101557
* Move Sema::PerformImplicitConversion over to where ↵Douglas Gregor2010-04-162-24/+24
| | | | | | Sema::TryImplicitConversion is, for my own sanity. No functionality change llvm-svn: 101554
* (i32 sext_in_reg (i32 aext (i16 x)), i16) -> (i32 sext x). No known test ↵Evan Cheng2010-04-161-1/+2
| | | | | | case until -promote-16bit is enabled. llvm-svn: 101551
* Make Sema::BuildCXXCastArgument static, since it now only has one caller. No ↵Douglas Gregor2010-04-162-44/+40
| | | | | | functionality change llvm-svn: 101550
* Collapse the three separate initialization paths inDouglas Gregor2010-04-1610-234/+70
| | | | | | | | | | | | | | | | | | TryStaticImplicitCast (for references, class types, and everything else, respectively) into a single invocation of InitializationSequence. One of the paths (for class types) was the only client of Sema::TryInitializationByConstructor, which I have eliminated. This also simplified the interface for much of the cast-checking logic, eliminating yet more code. I've kept the representation of C++ functional casts with <> 1 arguments the same, despite the fact that I hate it. That fix will come soon. To satisfy my paranoia, I've bootstrapped + tested Clang with these changes. llvm-svn: 101549
* tidy upChris Lattner2010-04-161-23/+25
| | | | llvm-svn: 101548
* move PrintCallGraphPass out of the middle of CGPassManager.Chris Lattner2010-04-161-33/+43
| | | | llvm-svn: 101543
OpenPOWER on IntegriCloud