- Jun 01, 2013
-
-
Benjamin Kramer authored
Also simplify code a bit while there. No functionality change. llvm-svn: 183076
-
Eric Christopher authored
llvm-svn: 183057
-
- May 31, 2013
-
-
Quentin Colombet authored
Account for the cost of scaling factor in Loop Strength Reduce when rating the formulae. This uses a target hook. The default implementation of the hook is: if the addressing mode is legal, the scaling factor is free. <rdar://problem/13806271> llvm-svn: 183045
-
Kai Nacke authored
Removes all uses of the variable UsesNewEH. Simply return false in case that no resume instructions were found. llvm-svn: 183016
-
- May 30, 2013
-
-
Tim Northover authored
r182872 introduced a bug in how the register-coalescer's rematerialization handled defining a physical register. It relied on the output of the coalescer's setRegisters method to determine whether the replacement instruction needed an implicit-def. However, this value isn't necessarily the same as the CopyMI's actual destination register which is what the rest of the basic-block expects us to be defining. The commit changes the rematerializer to use the actual register attached to CopyMI in its decision. This will be tested soon by an X86 patch which moves everything to using MOV32r0 instead of other sizes. llvm-svn: 182925
-
Eric Christopher authored
llvm-svn: 182903
-
Eric Christopher authored
llvm-svn: 182902
-
Andrew Trick authored
Fixes PR16146: gdb.base__call-ar-st.exp fails after pre-RA-sched=source fixes. Patch by Xiaoyi Guo! This also fixes an unsupported dbg.value test case. Codegen was previously incorrect but the test was passing by luck. llvm-svn: 182885
-
- May 29, 2013
-
-
Bill Wendling authored
Not only does this break encapsulation, it's gross. llvm-svn: 182876
-
Tim Northover authored
This allows rematerialization during register coalescing to handle more cases involving operations like SUBREG_TO_REG which might need to be rematerialized using sub-register indices. For example, code like: v1(GPR64):sub_32 = MOVZ something v2(GPR64) = COPY v1(GPR64) should be convertable to: v2(GPR64):sub_32 = MOVZ something but previously we just gave up in places like this llvm-svn: 182872
-
Manman Ren authored
Since the testing case uses ref_addr, which requires version 3+ to work, we will solve the dwarf version issue first. This patch also causes failures in one of the bots. I will update the patch accordingly in my next attempt. rdar://13926659 llvm-svn: 182867
-
- May 28, 2013
-
-
Manman Ren authored
from a different CU. We used to print out an error message and fail to generate inlined_subroutine. If we use ref_addr in the generated DWARF, the DWARF version should be 3 or above. rdar://13926659 llvm-svn: 182791
-
Benjamin Kramer authored
llvm-svn: 182779
-
Benjamin Kramer authored
llvm-svn: 182778
-
- May 27, 2013
-
-
Preston Gurd authored
When -ffast-math is in effect (on Linux, at least), clang defines __FINITE_MATH_ONLY__ > 0 when including <math.h>. This causes the preprocessor to include <bits/math-finite.h>, which renames the sqrt functions. For instance, "sqrt" is renamed as "__sqrt_finite". This patch adds the 3 new names in such a way that they will be treated as equivalent to their respective original names. llvm-svn: 182739
-
- May 26, 2013
-
-
Andrew Trick authored
llvm-svn: 182717
-
- May 25, 2013
-
-
Andrew Trick authored
Remove the old IR ordering mechanism and switch to new one. Fix unit test failures. llvm-svn: 182704
-
Andrew Trick authored
Change SelectionDAG::getXXXNode() interfaces as well as call sites of these functions to pass in SDLoc instead of DebugLoc. llvm-svn: 182703
-
Andrew Trick authored
Use a field in the SelectionDAGNode object to track its IR ordering. This adds fields and utility classes without changing existing interfaces or functionality. llvm-svn: 182701
-
Michael J. Spencer authored
llvm-svn: 182680
-
- May 23, 2013
-
-
Jakob Stoklund Olesen authored
Now that the LiveDebugVariables pass is running *after* register coalescing, the ConnectedVNInfoEqClasses class needs to deal with DBG_VALUE instructions. This only comes up when rematerialization during coalescing causes the remaining live range of a virtual register to separate into two connected components. llvm-svn: 182592
-
Benjamin Kramer authored
Lets us use a SetVector instead of an explicit set + vector combination. llvm-svn: 182586
-
David Blaikie authored
There were bits & pieces of code lying around that may've given the impression that debug info metadata supported the possibility that a subprogram's type could be specified by a non-subroutine type describing the return type of a void function. This support was incomplete & unnecessary. Asserts & API have been changed to make the desired usage more clear. llvm-svn: 182532
-
Chad Rosier authored
llvm-svn: 182531
-
Chad Rosier authored
llvm-svn: 182527
-
Chad Rosier authored
llvm-svn: 182526
-
- May 22, 2013
-
-
Adrian Prantl authored
llvm-svn: 182495
-
- May 21, 2013
-
-
Justin Holewinski authored
The intrinsic calls are dropped, but the annotated value is propagated. Fixes PR 15253 Original patch by Zeng Bin! llvm-svn: 182387
-
Benjamin Kramer authored
Fixes PR16083. llvm-svn: 182357
-
Manman Ren authored
This is to fix PR15408 where an undefined symbol Lline_table_start1 is used. Since we do not generate the debug_line section when .loc is used, Lline_table_start1 is not emitted and we can't refer to it when calculating at_stmt_list for a compile unit. llvm-svn: 182344
-
David Blaikie authored
This resolves the last of the PR14606 failures in the GDB 7.5 test suite by implementing an optional name field for DW_TAG_imported_modules/DIImportedEntities and using that to implement C++ namespace aliases (eg: "namespace X = Y;"). llvm-svn: 182328
-
- May 20, 2013
-
-
Bill Wendling authored
The DWARF EH pass doesn't need the TargetMachine, only the TargetLoweringBase like the other EH passes. llvm-svn: 182321
-
Bill Wendling authored
llvm-svn: 182317
-
- May 18, 2013
-
-
Matt Arsenault authored
llvm-svn: 182180
-
- May 17, 2013
-
-
Matt Arsenault authored
Use EVT::changeExtendedVectorElementTypeToInteger instead of doing the same thing that it does llvm-svn: 182165
-
Matt Arsenault authored
llvm-svn: 182164
-
Adrian Prantl authored
radar://problem/13865940 llvm-svn: 182062
-
- May 16, 2013
-
-
Rafael Espindola authored
Now that we have good testing, remove addFrameMove and create cfi instructions directly. llvm-svn: 182052
-
Benjamin Kramer authored
if ((x & 255) == 255) before: movzbl %al, %eax cmpl $255, %eax after: cmpb $-1, %al llvm-svn: 182038
-
Jakob Stoklund Olesen authored
This lane mask provides information about which register lanes completely cover super-registers. See the block comment before getCoveringLanes(). llvm-svn: 182034
-