aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-09-24Don't constant propagate byval pointers, since they are not really pointers, butTorok Edwin
rather structs passed by value. This fixes PR5038. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82689 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24Add count/not tools as executables.Daniel Dunbar
- Apparently, I'm willing to do incredibly stupid things in the name of portability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24unconditionally compute MMI even if the target doesn't support EH or Debug ↵Chris Lattner
info, because the target may use it for other things, this fixes PR5036 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24reapply r82348 with a fix, thanks Jeffrey.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82683 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24Fix PR5024 with a big hammer: disable the double-def assertion in the scavenger.Evan Cheng
LiveVariables add implicit kills to correctly track partial register kills. This works well enough and is fairly accurate. But coalescer can make it impossible to maintain these markers. e.g. BL <ga:sss1>, %R0<kill,undef>, %S0<kill>, %R0<imp-def>, %R1<imp-def,dead>, %R2<imp-def,dead>, %R3<imp-def,dead>, %R12<imp-def,dead>, %LR<imp-def,dead>, %D0<imp-def>, ... ... %reg1031<def> = FLDS <cp#1>, 0, 14, %reg0, Mem:LD4[ConstantPool] ... %S0<def> = FCPYS %reg1031<kill>, 14, %reg0, %D0<imp-use,kill> When reg1031 and S0 are coalesced, the copy (FCPYS) will be eliminated the the implicit-kill of D0 is lost. In this case it's possible to move the marker to the FLDS. But in many cases, this is not possible. Suppose %reg1031<def> = FOO <cp#1>, %D0<imp-def> ... %S0<def> = FCPYS %reg1031<kill>, 14, %reg0, %D0<imp-use,kill> When FCPYS goes away, the definition of S0 is the "FOO" instruction. However, transferring the D0 implicit-kill to FOO doesn't work since it is the def of D0 itself. We need to fix this in another time by introducing a "kill" pseudo instruction to track liveness. Disabling the assertion is not ideal, but machine verifier is doing that job now. It's important to know double-def is not a miscomputation since it means a register should be free but it's not tracked as free. It's a performance issue instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24Clean up LiveVariables and change how it deals with partial updates and ↵Evan Cheng
kills. This also eliminate the horrible check which scan forward to the end of the basic block. It should be faster and more accurate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82676 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24Roll back r82348, which introduced an infinite loop in ParseCStringVector() thatJeffrey Yasskin
a trivial unittest would have caught. This revision also adds the trivial unittest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82675 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23A minor improvment in accuracy to inline costDale Johannesen
computation, and some cosmetics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82660 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Disable test; what it's testing for is wrong.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82658 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Checkpoint NEON scheduling itineraries.David Goodwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Use getStoreSize() instead of getStoreSizeInBits()/8.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82656 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Spruce up some comments.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Rename several variables from EVT to more descriptive names, now that EVTDan Gohman
is also the name of their type, as declarations like "EVT EVT" look really odd. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82654 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Add an EVT::getStoreSize function, like getStoreSizeInBits but in bytes.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82653 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Fix verification of explicit operands.Jakob Stoklund Olesen
The machine code verifier did not check for explicit operands correctly. It used MachineInstr::getNumExplicitOperands, but that method may cheat and use the declared count in the TargetInstrDesc. Now we check the explicit operands one at a time in visitMachineOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82652 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Remove BlackfinRegisterInfo::getFrameIndexOffset since it is the same as theBob Wilson
default implementation. Update comment on the default version, which made it sound like most targets override it. Currently only X86 and SystemZ override this method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82651 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Correct a comment.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Delete attached metadata when an instruction is deleted.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82647 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23ARM does not support offset folding (yet). Disable it for now.Anton Korobeynikov
This fixes PR5031. Unfortunately, there is no small testcase :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Edit a comment.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82641 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Do not leave behind metadata while cloning an instruction.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82638 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Add nounwind.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82637 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23s/*Location/*DebugLocation/gDevang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23PR4047: Permit configure --enable-targets=host,cpp for example. "host" has theJeffrey Yasskin
same effect that "host-only" used to have, but can be combined with other targets. host-only is still available as a synonym but no longer documented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82634 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Fix bug in kill flag updating for post-register-allocation scheduling. When ↵David Goodwin
the kill flag of a superreg needs to be cleared because there are one or more subregs live, we instead add implicit-defs of those subregs and leave the kill flag on the superreg. This allows us to end the live-range of the superreg without ending the live-ranges of the subregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82629 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Fix a struct/class mismatch.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82622 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Make the type traits for a const pointer defer to those for a unqualifiedJohn McCall
pointer, instead of providing independent values modelled on the default implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82620 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Fix PR5024. LiveVariables physical register defs should *commit* only after allEvan Cheng
of the defs are processed. Also fix a implicit_def propagation bug: a implicit_def of a physical register should be applied to uses of the sub-registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82616 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Fix a obvious logic error.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82610 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23pretty mechanical changes to match coding guidelines (blessed by sabre on IRC)Gabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82603 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23errorstr can be null, don't unconditionally set it. Only report thatChris Lattner
"the jit has not been linked in" if the interpreter failed. This fixes a unit test failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82601 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Make EngineBuilder return more error codes, by KS Sreeram.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82600 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Give MachineMemOperand an operator<<, factoring out code fromDan Gohman
two different places for printing MachineMemOperands. Drop the virtual from Value::dump and instead give Value a protected virtual hook that can be overridden by subclasses to implement custom printing. This lets printing be more consistent, and simplifies printing of PseudoSourceValue values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82599 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23Fix X86's unfoldMemoryOperand to properly handle MachineMemOperands.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-23This is overly constraining with respect to clang.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82591 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Add examples for Kaleidoscope chapters 2 through 6.Erick Tryzelaar
Conflicts: examples/Makefile git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82574 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Rename Kaleidoscope to show that it's for Chapter 7 of the tutorial.Erick Tryzelaar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82573 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Sync c++ kaleidoscope tutorial with test.Erick Tryzelaar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82572 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Add SetLocation() to allow IRBuilder user to set location info for an ↵Devang Patel
instruction already created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82570 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Check exisiting dbg MDKind first. Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82568 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22No need to verify that malloc's return type is i8*.Victor Hernandez
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82561 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Use early returns.David Goodwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82554 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Revert "Don't allow formatted_ostream to be unbuffered, even if its underlyingDaniel Dunbar
buffer", while we work out a solution. Dan convinced me that making debugging annoying for him is worse than 10x being slower for me. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82553 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22... missed hiding a variable for MSVC only.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82552 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Hide MSVC specific CRT interaction behind _MSC_VER.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Remove the GetProcessId() call from Win32/Program.inc, take 2.Mikhail Glushenkov
GetProcessId() was introduced only in Windows XP, and we want to support earlier versions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82548 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Fix commento.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22lit: When executing shell scripts internally, don't allow piped stderr on anyDaniel Dunbar
commands except the last one, instead redirect the stderr to a temporary file. This sidesteps a potential deadlocking issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82538 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Add a magic LLVM_DISABLE_CRT_DEBUG environment variable which we check in ↵Daniel Dunbar
RegisterHandler and use to disable the Win32 crash dialogs. These are a major blocker to any kind of automated testing. Also, tweak the 'lit' test runner to set this variable unconditionally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82537 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Forgot this.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82536 91177308-0d34-0410-b5e6-96231b3b80d8