summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Added Subtarget support into RegisterInfoBruno Cardoso Lopes2008-07-149-116/+200
| | | | | | | | | | | | Added HasABICall and HasAbsoluteCall (equivalent to gcc -mabicall and -mno-shared). HasAbsoluteCall is not implemented but HasABICall is the default for o32 ABI. Now, both should help into a more accurate relocation types implementation. Added IsLinux is needed to choose between asm directives. Instruction name strings cleanup. AsmPrinter improved. llvm-svn: 53551
* Fix minor mistake in clang checkout instructions.Ted Kremenek2008-07-141-1/+1
| | | | llvm-svn: 53550
* Revert r53540 - it does not compile.Duncan Sands2008-07-141-23/+1
| | | | llvm-svn: 53549
* Reimplement LinkFunctionProtos in terms of GetLinkageResult. This fixesChris Lattner2008-07-145-171/+108
| | | | | | | | | | | | | | | | | the second half of link-global-to-func.ll and causes some minor changes in messages. There are two TODOs here. First, this causes a regression in 2008-07-06-AliasWeakDest.ll, which is now failing (so I xfailed it). Anton, I would really appreciate it if you could take a look at this. It should be a matter of adding proper alias support to GetLinkageResult, and was probably already a latent bug that would manifest with globals. The second todo is to reimplement LinkAlias in the same pattern as function and global linking. This should be pretty straight-forward for someone who knows aliases, but isn't a requirement for correctness. llvm-svn: 53548
* don't do any linkage, not even type resolution, of symbols that have Chris Lattner2008-07-141-6/+10
| | | | | | internal linkage. llvm-svn: 53547
* implement linking of globals to functions, in one directionChris Lattner2008-07-142-81/+88
| | | | | | | | | | | (replacing a function with a global). This is needed when building llvm itself with LTO on darwin, because of the EXPLICIT_SYMBOL hack in lib/system/DynamicLibrary.cpp. Implementation of linking the other way will need to wait for a cleanup of LinkFunctionProtos. llvm-svn: 53546
* wrap long lines, remove some code from a non-assert build.Chris Lattner2008-07-141-5/+7
| | | | llvm-svn: 53545
* Fix a bunch of bugs handling vector compare constant expressions, fixingChris Lattner2008-07-142-34/+70
| | | | | | PR2317. llvm-svn: 53544
* Document and fix Constant::getVectorElements to return an empty vectorChris Lattner2008-07-141-12/+23
| | | | | | | | | when presented with a constant expr. If ConstantExpr::getV[IF]Cmp to work when ConstantFoldCompareInstruction returns an undef or constant expr. llvm-svn: 53541
* If a function calls setjmp, never inline it into other functions. This isChris Lattner2008-07-141-1/+23
| | | | | | | a hack around the fact that we don't represent the CFG correctly for sj/lj. It fixes PR2486. llvm-svn: 53540
* simplify some code, shuffle and insertelt always return a vector.Chris Lattner2008-07-141-2/+1
| | | | llvm-svn: 53538
* whitespace fix.Chris Lattner2008-07-141-1/+1
| | | | llvm-svn: 53537
* doxygenate comments and wrap to 80 cols.Chris Lattner2008-07-141-22/+23
| | | | llvm-svn: 53536
* Add a note.Chris Lattner2008-07-141-0/+12
| | | | llvm-svn: 53535
* Fix PR2506 by being a bit more careful about reverse fact propagation whenChris Lattner2008-07-143-67/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | disproving a condition. This actually compiles the existing testcase (udiv_select_to_select_shift) to: define i64 @test(i64 %X, i1 %Cond) { entry: %divisor1.t = lshr i64 %X, 3 ; <i64> [#uses=1] %quotient2 = lshr i64 %X, 3 ; <i64> [#uses=1] %sum = add i64 %divisor1.t, %quotient2 ; <i64> [#uses=1] ret i64 %sum } instead of: define i64 @test(i64 %X, i1 %Cond) { entry: %quotient1.v = select i1 %Cond, i64 3, i64 4 ; <i64> [#uses=1] %quotient1 = lshr i64 %X, %quotient1.v ; <i64> [#uses=1] %quotient2 = lshr i64 %X, 3 ; <i64> [#uses=1] %sum = add i64 %quotient1, %quotient2 ; <i64> [#uses=1] ret i64 %sum } llvm-svn: 53534
* Fix mishandling of the infinite loop case when merging two blocks. ThisChris Lattner2008-07-132-17/+62
| | | | | | fixes PR2540. llvm-svn: 53533
* more refactoring. Use early exits instead of really complex logic.Chris Lattner2008-07-131-109/+98
| | | | | | No functionality change. llvm-svn: 53532
* improve comments.Chris Lattner2008-07-131-2/+4
| | | | llvm-svn: 53531
* factor another large hunk of code out into its own function. Chris Lattner2008-07-131-155/+172
| | | | | | No functionality change. llvm-svn: 53530
* add a description.Chris Lattner2008-07-131-1/+2
| | | | llvm-svn: 53529
* Final bit of simplification for FoldBranchToCommonDest.Chris Lattner2008-07-131-32/+34
| | | | llvm-svn: 53528
* simplify logic a bitChris Lattner2008-07-131-9/+10
| | | | llvm-svn: 53527
* Refactor some code out into its own helper function, getting rid of crazy ↵Chris Lattner2008-07-131-54/+84
| | | | | | | | | | multiline conditionals and commenting the code better. No functionality change. llvm-svn: 53526
* Fix comment.Duncan Sands2008-07-131-1/+1
| | | | llvm-svn: 53525
* test commit. Remove previously added line.Cedric Venet2008-07-131-1/+0
| | | | llvm-svn: 53524
* Fix PR2231 - opt -internalize -std-compile-opts should run internalize firstChris Lattner2008-07-131-8/+17
| | | | llvm-svn: 53523
* test commit. Add a blank line.Cedric Venet2008-07-131-0/+1
| | | | llvm-svn: 53522
* Remove deleted files from VC++ project.Cedric Venet2008-07-131-8/+0
| | | | llvm-svn: 53521
* Use of NextToken() makes ParseIdentifierStatement unnecessary.Argyrios Kyrtzidis2008-07-122-88/+7
| | | | | | Simplify the parser by removing Parser::ParseIdentifierStatement. llvm-svn: 53520
* Convert CRLF -> LF line endings.Argyrios Kyrtzidis2008-07-121-21/+21
| | | | llvm-svn: 53519
* Added two new files to VC++ project.Cedric Venet2008-07-121-0/+8
| | | | llvm-svn: 53518
* Inline typedef for alist_iterator::pointer to work with MSVC++.Ted Kremenek2008-07-121-1/+5
| | | | llvm-svn: 53517
* Stop creating extraneous smax/umax in SCEV. This removes a regression where weNick Lewycky2008-07-124-7/+146
| | | | | | started complicating many loops ('for' loops, in fact). llvm-svn: 53508
* operator[] is not defined for list::iterator. Overload it in ilist::iteratorNick Lewycky2008-07-121-0/+4
| | | | | | to prevent silly things from happening accidentally. PR2171 llvm-svn: 53507
* Enhance analysis of srem.Nick Lewycky2008-07-122-15/+12
| | | | | | | Remove dead code analyzing urem. 'urem' of power-of-2 is canonicalized to an 'and' instruction. llvm-svn: 53506
* Implement llvm.atomic.cmp.swap.i32 on PPC. Patch by Gary Benson!Evan Cheng2008-07-124-220/+329
| | | | llvm-svn: 53505
* Typos.Evan Cheng2008-07-121-2/+2
| | | | llvm-svn: 53504
* Fix PR2536: a nasty spiller bug. If a two-address instruction uses a ↵Evan Cheng2008-07-122-0/+72
| | | | | | | | | | | register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g. 8 %reg1024<def> = IMPLICIT_DEF 12 %reg1024<def> = INSERT_SUBREG %reg1024<kill>, %reg1025, 2 The live range [12, 14) are not part of the r1024 live interval since it's defined by an implicit def. It will not conflicts with live interval of r1025. Now suppose both registers are spilled, you can easily see a situation where both registers are reloaded before the INSERT_SUBREG and both target registers that would overlap. llvm-svn: 53503
* Back out 53476 and 53480 for now. Somehow they cause llc to miscompile 179.art.Evan Cheng2008-07-127-77/+34
| | | | llvm-svn: 53502
* expand casts to handle what isIntegerConstantExpr handles.Chris Lattner2008-07-121-11/+52
| | | | | | Casts from pointers remain a problem. :) llvm-svn: 53501
* Add support for __builtin_type_compatible_p, enums, etc.Chris Lattner2008-07-121-16/+47
| | | | llvm-svn: 53500
* start remembering diagnostics for various cases, add some missingChris Lattner2008-07-122-28/+93
| | | | | | code. Switch to Eli's getIntWidth method. llvm-svn: 53499
* Add a utility function to MachineInstr for testing whether an instructionDan Gohman2008-07-122-7/+10
| | | | | | | has exactly one MachineMemOperand, and change some X86 lowering code to make use of it. llvm-svn: 53498
* Updated latest checker build. This build includes the new check for ↵Ted Kremenek2008-07-111-1/+1
| | | | | | type-compatibility of the return types of ObjC methods. llvm-svn: 53496
* Tidy up error message.Ted Kremenek2008-07-111-2/+4
| | | | llvm-svn: 53493
* Add CSS for word wrapping of long message bubbles.Ted Kremenek2008-07-111-0/+1
| | | | llvm-svn: 53492
* Provide a structure for passing down 'is evaluated' and passing up Chris Lattner2008-07-111-25/+62
| | | | | | diagnosic+loc info for i-c-e evaluation. llvm-svn: 53490
* Fix spelling of "hierarchy" in comments.Dan Gohman2008-07-113-5/+5
| | | | llvm-svn: 53489
* Update Xcode project.Ted Kremenek2008-07-111-25/+59
| | | | llvm-svn: 53488
* Fix typos in comments.Dan Gohman2008-07-111-4/+4
| | | | llvm-svn: 53487
OpenPOWER on IntegriCloud