- May 28, 2013
-
-
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
-
- May 15, 2013
-
-
Hal Finkel authored
If the input operands to SETCC are promoted, we need to make sure that we either use the promoted form of both operands (or neither); a mixture is not allowed. This can happen, for example, if a target has a custom promoted i1-returning intrinsic (where i1 is not a legal type). In this case, we need to use the promoted form of both operands. This change only augments the behavior of the existing logic in the case where the input types (which may or may not have already been legalized) disagree, and should not affect existing target code because this case would otherwise cause an assert in the SETCC operand promotion code. This will be covered by (essentially all of the) tests for the new PPCCTRLoops infrastructure. llvm-svn: 181926
-
Derek Schuff authored
IR optimisation passes can result in a basic block that contains: llvm.lifetime.start(%buf) ... llvm.lifetime.end(%buf) ... llvm.lifetime.start(%buf) Before this change, calculateLiveIntervals() was ignoring the second lifetime.start() and was regarding %buf as being dead from the lifetime.end() through to the end of the basic block. This can cause StackColoring to incorrectly merge %buf with another stack slot. Fix by removing the incorrect Starts[pos].isValid() and Finishes[pos].isValid() checks. Just doing: Starts[pos] = Indexes->getMBBStartIdx(MBB); Finishes[pos] = Indexes->getMBBEndIdx(MBB); unconditionally would be enough to fix the bug, but it causes some test failures due to stack slots not being merged when they were before. So, in order to keep the existing tests passing, treat LiveIn and LiveOut separately rather than approximating the live ranges by merging LiveIn and LiveOut. This fixes PR15707. Patch by Mark Seaborn. llvm-svn: 181922
-
David Blaikie authored
BitVector/SmallBitVector::reference::operator bool remain implicit since they model more exactly a bool, rather than something else that can be boolean tested. The most common (non-buggy) case are where such objects are used as return expressions in bool-returning functions or as boolean function arguments. In those cases I've used (& added if necessary) a named function to provide the equivalent (or sometimes negative, depending on convenient wording) test. One behavior change (YAMLParser) was made, though no test case is included as I'm not sure how to reach that code path. Essentially any comparison of llvm::yaml::document_iterators would be invalid if neither iterator was at the end. This helped uncover a couple of bugs in Clang - test cases provided for those in a separate commit along with similar changes to `operator bool` instances in Clang. llvm-svn: 181868
-
- May 14, 2013
-
-
Eric Christopher authored
happens to be a compile unit. Noticed on inspection and tested via calling on a newly created compile unit. No functional change. llvm-svn: 181835
-
Kai Nacke authored
The personality function is user defined and may have an arbitrary result type. The code assumes always i8*. This results in an assertion failure if a different type is used. A bitcast to i8* is added to prevent this failure. Reviewed by: Renato Golin, Bob Wilson llvm-svn: 181802
-
Akira Hatanaka authored
object is a PseudoSourceValue and PseudoSourceValue::isConstant returns true (i.e., points to memory that has a constant value). llvm-svn: 181751
-
David Blaikie authored
This just brings a crash a little further forward from DWARF emission to DIE construction to make errors easier to diagnose. llvm-svn: 181748
-
- May 13, 2013
-
-
Bob Wilson authored
llvm-svn: 181721
-
Hao Liu authored
llvm-svn: 181682
-
Rafael Espindola authored
It was just a less powerful and more confusing version of MCCFIInstruction. A side effect is that, since MCCFIInstruction uses dwarf register numbers, calls to getDwarfRegNum are pushed out, which should allow further simplifications. I left the MachineModuleInfo::addFrameMove interface unchanged since this patch was already fairly big. llvm-svn: 181680
-
- May 11, 2013
-
-
Benjamin Kramer authored
llvm-svn: 181663
-
Rafael Espindola authored
To add a frame now there is a dedicated addFrameMove which also takes care of constructing the move itself. llvm-svn: 181657
-