aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-06-12Make sure to update the CFG correctly if a switch only has a default dest.Chris Lattner
This fixes CodeGen/Generic/2006-06-12-LowerSwitchCrash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28755 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12New testcase that crashes llcChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28754 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12Let the alpha breakage begin. First Formals and RET. next CallsAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28753 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12Start on my todo listAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28752 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12lower more then 4 formal arguments. The offset is currently hard coded.Rafael Espindola
implement SelectFrameIndex git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28751 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12Fix for 2006-06-26-MultipleExitsSingleBlock.Owen Anderson
If a single exit block has multiple predecessors within the loop, it will appear in the exit blocks list more than once. LCSSA needs to take that into account so that it doesn't double process that exit block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28750 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-12Make sure that LCSSA works properly when it encounters an exit block that hasOwen Anderson
more than one predecessor inside the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28749 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-11Re-commit the safe parts of my 6/9 patch. Still working on fixing the ↵Owen Anderson
unsafe parts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28748 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-11Back out Owen's 6/9 changes. They broke ↵Evan Cheng
MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28747 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-10Add a missing assertion that would have helped out ReidChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28746 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-10Work around a nasty tblgen bug where it doesn't add operands for varargsChris Lattner
nodes correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28745 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-10Fix a problem exposed by the local allocator. CALL instructions are not markedChris Lattner
as using incoming argument registers, so the local allocator would clobber them between their set and use. To fix this, we give the call instructions a variable number of uses in the CALL MachineInstr itself, so live variables understands the live ranges of these register arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28744 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09Wrap to 80 colsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28743 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09After telling GCC to type of the input file with -x asm/-x c, switch back toChris Lattner
-x none, to not foul up autodetection of .a file or .dylibs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28741 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09Don't pull in environ, not always safe. Global variables are bad anyway.Evan Cheng
Use execve when explicit environment variables ptr is available. Otherwise just use execv. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28740 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09Add LCSSA as a requirement for LoopUnswitch, and assert that LoopUnswitch ↵Owen Anderson
preserves LCSSA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28739 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass ↵Owen Anderson
assert on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28738 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09Comments to appease sabre.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28737 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09Minor compilation speed improvement.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28736 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-09RewriteExpr, either the new PHI node of induction variable or theEvan Cheng
post-increment value, should be first cast to the appropriated type (to the type of the common expr). Otherwise, the rewrite of a use based on (common + iv) may end up with an incorrect type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28735 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08Update some comments, and expose LCSSAID in preparation for having other passesOwen Anderson
require LCSSA. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28734 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08Fix X86/inline-asm.ll:test2, a case where an input value was implicitlyChris Lattner
truncated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28733 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08Add new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28732 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08Fix Regression/CodeGen/X86/inline-asm.ll, a case where inline asm causesChris Lattner
implement extension of a register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28731 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08New testcase, using "AX" as i32.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28730 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08Squelch a warning about signed/unsigned.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28729 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08Add support for "m" inline asm constraints.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28728 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08Fix an assert-on-inline-inline-asm bug.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28727 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08For PR804:Reid Spencer
Change the file size field of StatusInfo to be uint64_t instead of size_t so that we know it is always 64 bits. This prevents some overflow on systems where size_t is 32 bits when it ought to be 64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28726 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08Remove dead code.Vladimir Prus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28725 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08New method BasicBlock::getFirstNonPHI.Vladimir Prus
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28724 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-08This no longer needs plugins, this it doesn't need all of VMCore.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28723 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07For PR787:Reid Spencer
Provide new llvm::sys::Program facilities for converting the stdout and stdin to binary mode. There is no standard way to do this and the available mechanisms are platform specific. Adjust the bytecode reader and writer to use these methods when their input is stdin or output is stdout. THis avoids the problem with \n writing CRLF to a bytecode file on windows. Patch Contributed by Michael Smith. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28722 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Shorten a value description so --help out isn't so wide.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28721 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Make sure this tool links in all of libVMCore.a because it can --loadReid Spencer
shared objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28720 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07For PR780:Reid Spencer
1. Add #includes to LinkAllVMCore.h to get Mangler.o and InlineAsm.o 2. Make Mangler.h and InlineAsm.h use the macros to ensure linkage 3. Make each of the tools with --load options include LinkAllVMCore.h This should be the last set of changes for this bug and 800. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28719 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Add a virtual dtor to the InlineAsm class so that the principle method ofChris Lattner
the class can be defined in InlineAsm.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28718 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Fix a bug where the types for inlineasm nodes were not properly entered intoChris Lattner
the compaction table for a function. This broke compilation of hexxagon on darwin/x86 with recent changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28717 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Previous version of this file wasn't supposed to be committed. This versionReid Spencer
attempts to get all of libVMCore.a through the least number of declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28716 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07For PR780:Reid Spencer
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace 2. Replace the previous explicit mechanism in all the .h and .cpp files with the macros in IncludeFile.h This gets us a consistent mechanism throughout LLVM for ensuring linkage. Next step is to make sure its used in enough places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28715 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Fix a spello in a comment.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28714 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07For PR780:Reid Spencer
This change was suggested by Chris so that we can select an alternate (or even no-op) implementation of the link assurance. I'm committing this for your review, Chris. If the names and definitions are okay, I'll adjust all the .h and .cpp files in a later patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28712 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07For PR780:Reid Spencer
Break the "IncludeFile" mechanism into its own header file and adjust other files accordingly. Use this facility for the IntrinsicInst problem which was the subject of PR800. More to follow on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28709 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Add -extraflags FLAGS to pass extra compilation options.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28707 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-07Remove useless noop argumentChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28706 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06Fix a bug in the following scenario.Chris Lattner
1. llvm is built with objroot = OBJ and installed. 2. OBJ is deleted or install tree is shipped. 3. llvm-config is run. In this scenario, llvm-config shouldn't emit an error message at #3, it should just know it's not running in the objdir :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28704 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06Added X86FunctionInfo subclass of MachineFunction to record whether theEvan Cheng
function that is being lowered is forced to use FP. Currently this is only true for main() / Cygwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28703 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06document --libfilesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28702 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06Add a new --libfiles option, for getting fully-qualified pathnames to libraries.Chris Lattner
This can be used for tools that want makefile rules to depend on the libraries (e.g. so the tool is relinked when a library changes). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28701 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-06Move toolrunner out of libsupport into the bugpoint toolChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28700 91177308-0d34-0410-b5e6-96231b3b80d8