- Sep 24, 2009
-
-
Victor Hernandez authored
Reviewed by Devang Patel. llvm-svn: 82694
-
Bob Wilson authored
LocalAreaOffset. (We don't have any of those right now.) PEI::calculateFrameObjectOffsets includes the absolute value of the LocalAreaOffset in the cumulative offset value used to calculate the stack frame size. It then adds the raw value of the LocalAreaOffset to the stack size. For a StackGrowsDown target, that raw value is negative and has the effect of cancelling out the absolute value that was added earlier, but that obviously won't work for a StackGrowsUp target. Change to subtract the absolute value of the LocalAreaOffset. llvm-svn: 82693
-
Devang Patel authored
llvm-svn: 82692
-
Torok Edwin authored
rather structs passed by value. This fixes PR5038. llvm-svn: 82689
-
Daniel Dunbar authored
visible in the log. llvm-svn: 82688
-
Daniel Dunbar authored
llvm-svn: 82687
-
Ted Kremenek authored
Fix crash in RegionStoreManager::Bind() by using 'getAs<PointerType>()' instead of 'cast<PointerType>()' (to handle pointer typedefs). llvm-svn: 82686
-
Daniel Dunbar authored
- Apparently, I'm willing to do incredibly stupid things in the name of portability. llvm-svn: 82685
-
Chris Lattner authored
unconditionally compute MMI even if the target doesn't support EH or Debug info, because the target may use it for other things, this fixes PR5036 llvm-svn: 82684
-
Chris Lattner authored
llvm-svn: 82683
-
Anders Carlsson authored
llvm-svn: 82682
-
Daniel Dunbar authored
handled correctly. - <rdar://problem/7247671> Function arguments incorrect when function returns a struct on i386 w/ llvm-g++ and clang llvm-svn: 82681
-
rdar://problem/7249340Ted Kremenek authored
The issue was a discrepancy between how RegionStoreManager::Bind() and RegionStoreManager::Retrieve() derived the "key" for the first element of a symbolic region. llvm-svn: 82680
-
Anders Carlsson authored
llvm-svn: 82679
-
Anders Carlsson authored
llvm-svn: 82678
-
Evan Cheng authored
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. llvm-svn: 82677
-
Evan Cheng authored
Clean up LiveVariables and change how it deals with partial updates and kills. This also eliminate the horrible check which scan forward to the end of the basic block. It should be faster and more accurate. llvm-svn: 82676
-
Jeffrey Yasskin authored
a trivial unittest would have caught. This revision also adds the trivial unittest. llvm-svn: 82675
-
Ted Kremenek authored
llvm-svn: 82672
-
Fariborz Jahanian authored
in a reference initialization diagnostic. llvm-svn: 82671
-
Douglas Gregor authored
llvm-svn: 82666
-
Douglas Gregor authored
llvm-svn: 82665
-
Fariborz Jahanian authored
initializing a reference class. llvm-svn: 82664
-
Douglas Gregor authored
lookup in a member access expression always start a nested-name-specifier. Additionally, rank names that start nested-name-specifiers after other names. llvm-svn: 82663
-
Dale Johannesen authored
computation, and some cosmetics. llvm-svn: 82660
-
- Sep 23, 2009
-
-
Dale Johannesen authored
llvm-svn: 82658
-
David Goodwin authored
llvm-svn: 82657
-
Dan Gohman authored
llvm-svn: 82656
-
Dan Gohman authored
llvm-svn: 82655
-
Dan Gohman authored
is also the name of their type, as declarations like "EVT EVT" look really odd. llvm-svn: 82654
-
Dan Gohman authored
llvm-svn: 82653
-
Jakob Stoklund Olesen authored
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. llvm-svn: 82652
-
Bob Wilson authored
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. llvm-svn: 82651
-
Fariborz Jahanian authored
llvm-svn: 82650
-
Fariborz Jahanian authored
It uses a recent API to find inherited conversion functions to do the initializer to reference lvalue conversion (and removes a FIXME). It issues the ambiguity diagnostics when multiple conversions are found. WIP. llvm-svn: 82649
-
Dan Gohman authored
llvm-svn: 82648
-
Devang Patel authored
llvm-svn: 82647
-
Steve Naroff authored
llvm-svn: 82646
-
Anders Carlsson authored
llvm-svn: 82644
-
Anton Korobeynikov authored
This fixes PR5031. Unfortunately, there is no small testcase :( llvm-svn: 82643
-