- Jan 05, 2012
-
-
Eli Friedman authored
llvm-svn: 147582
-
Kostya Serebryany authored
llvm-svn: 147581
-
Benjamin Kramer authored
llvm-svn: 147580
-
Jakob Stoklund Olesen authored
Now that canRealignStack() understands frozen reserved registers, it is safe to use it for aligned spill instructions. It will only return true if the registers reserved at the beginning of register allocation allow for dynamic stack realignment. <rdar://problem/10625436> llvm-svn: 147579
-
Jakob Stoklund Olesen authored
Once register allocation has started the reserved registers are frozen. Fix the ARM canRealignStack() hook to respect the frozen register state. Now the hook returns false if register allocation was started with frame pointer elimination enabled. It also returns false if register allocation started without a reserved base pointer, and stack realignment would require a base pointer. This bug was breaking oggenc on armv6. No test case, an upcoming patch will use this functionality to realign the stack for spill slots when possible. llvm-svn: 147578
-
Jakob Stoklund Olesen authored
The register allocators don't currently support adding reserved registers while they are running. Extend the MRI API to keep track of the set of reserved registers when register allocation started. Target hooks like hasFP() and needsStackRealignment() can look at this set to avoid reserving more registers during register allocation. llvm-svn: 147577
-
Argyrios Kyrtzidis authored
to make sure we do not crash. rdar://10594186 llvm-svn: 147576
-
John McCall authored
llvm-svn: 147575
-
Douglas Gregor authored
If we already have a definition for a top-level module that we deserialized from a module file, don't bother parsing a new definition llvm-svn: 147574
-
Fariborz Jahanian authored
c++ object reference type with trivial copy constructor. This causes an assert crash and bad code gen. when assert is off. // rdar://6137845 llvm-svn: 147573
-
Douglas Gregor authored
umbrella directory, skip includes for any headers that are part of an unavailable module. llvm-svn: 147572
-
Nick Kledzik authored
llvm-svn: 147571
-
Anna Zaks authored
llvm-svn: 147570
-
Anna Zaks authored
as a result of a call. Problem: Global variables, which come in from system libraries should not be invalidated by all calls. Also, non-system globals should not be invalidated by system calls. Solution: The following solution to invalidation of globals seems flexible enough for taint (does not invalidate stdin) and should not lead to too many false positives. We split globals into 3 classes: * immutable - values are preserved by calls (unless the specific global is passed in as a parameter): A : Most system globals and const scalars * invalidated by functions defined in system headers: B: errno * invalidated by all other functions (note, these functions may in turn contain system calls): B: errno C: all other globals (which are not in A nor B) llvm-svn: 147569
-
Anna Zaks authored
llvm-svn: 147568
-
Ted Kremenek authored
llvm-svn: 147567
-
Ted Kremenek authored
llvm-svn: 147566
-
Eli Friedman authored
llvm-svn: 147565
-
Douglas Gregor authored
in the module map. This provides a bit more predictability for the user, as well as eliminating the need to sort the submodules when serializing them. llvm-svn: 147564
-
Fariborz Jahanian authored
llvm-svn: 147563
-
Fariborz Jahanian authored
properties in classes declared with objc_suppress_autosynthesis attribute, pinpoint location of the said class in a note. llvm-svn: 147562
-
Eli Friedman authored
Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer. With that done, remove a bunch of buggy code from CGExprConstant for handling scalar expressions which is no longer necessary. Fixes PR11705. llvm-svn: 147561
-
Dan Gohman authored
Values, rather than just Instructions, since it's interesting for ConstantExprs too. llvm-svn: 147560
-
- Jan 04, 2012
-
-
rdar://problem/10507811Greg Clayton authored
Be better at detecting when DWARF changes and handle this more gracefully than asserting and exiting. Also fixed up a bunch of system calls that weren't properly checking for EINTR. llvm-svn: 147559
-
Chris Lattner authored
llvm-svn: 147558
-
rdar://10639962Chris Lattner authored
information even in subscripting operations. llvm-svn: 147557
-
Ted Kremenek authored
llvm-svn: 147556
-
Fariborz Jahanian authored
which is automatic with proper spelling :). llvm-svn: 147555
-
Marshall Clow authored
llvm-svn: 147554
-
Benjamin Kramer authored
llvm-svn: 147553
-
Daniel Dunbar authored
llvm-svn: 147552
-
Sean Callanan authored
resolves values in registers. llvm-svn: 147551
-
Benjamin Kramer authored
llvm-svn: 147550
-
Sean Callanan authored
breakpoints. llvm-svn: 147549
-
Douglas Gregor authored
any language variant), and restrict __has_feature(objc_modules) to mean that we also have the Objective-C @import syntax. I anticipate __has_feature(cxx_modules) and/or __has_feature(c_modules) for when we nail down the module syntax for C/C++. llvm-svn: 147548
-
Howard Hinnant authored
Just getting started on the personality routine. This is just a skeleton. Still learning how to fill it in... llvm-svn: 147547
-
Benjamin Kramer authored
llvm-svn: 147546
-
Eli Friedman authored
llvm-svn: 147545
-
Benjamin Kramer authored
Using DenseMap iterators isn't free as they have to check for empty buckets. Dominator queries are common so this gives a minor speedup. llvm-svn: 147544
-
Sebastian Pop authored
llvm-svn: 147543
-