summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* move the hackaround for PR6537 to catch unions as well,Chris Lattner2010-09-062-16/+35
| | | | | | fixing the ICE in PR7151 llvm-svn: 113130
* clean up some formatting.Chris Lattner2010-09-062-16/+15
| | | | llvm-svn: 113129
* PR7242: Make sure to use a different context for evaluating constantEli Friedman2010-09-062-1/+13
| | | | | | | | initializers, so the result of the evaluation doesn't leak through inconsistently. Also, don't evaluate references to variables with initializers with side-effects. llvm-svn: 113128
* fix PR7192 by defining wchar_t in a more conventional way. TheChris Lattner2010-09-052-1/+7
| | | | | | type of L"x" can change based on command line arguments. llvm-svn: 113127
* Tell the VS headers that char16_t and char32_t are keywords, so yvals.h ↵Steven Watanabe2010-09-051-0/+4
| | | | | | doesn't try to define them as typedefs. llvm-svn: 113126
* fix 7320: we can't delete a trailing space if it doesn't exist.Chris Lattner2010-09-051-1/+3
| | | | llvm-svn: 113125
* PR8023: Don't crash on invalid uses of __real__ on class types in C++.Eli Friedman2010-09-052-1/+7
| | | | llvm-svn: 113124
* fit in 80 columns and don't crash on exit, fixes PR8080Chris Lattner2010-09-051-4/+10
| | | | llvm-svn: 113123
* remove some dead code. t2addrmode_imm8s4 is never used in a Chris Lattner2010-09-052-32/+1
| | | | | | pattern, so there is no need to define a matching function. llvm-svn: 113122
* fix inconsistent formatting.Chris Lattner2010-09-051-1/+1
| | | | llvm-svn: 113121
* cleanups: mark stuff static, only tagdecls should be in anon namespaces.Chris Lattner2010-09-051-20/+22
| | | | llvm-svn: 113120
* cleanups.Chris Lattner2010-09-051-22/+17
| | | | llvm-svn: 113119
* some random notes.Chris Lattner2010-09-051-1/+4
| | | | llvm-svn: 113118
* add a comment about where this should eventually move.Chris Lattner2010-09-051-0/+7
| | | | llvm-svn: 113117
* update this.Chris Lattner2010-09-051-10/+29
| | | | llvm-svn: 113116
* more cleanupsChris Lattner2010-09-051-52/+38
| | | | llvm-svn: 113115
* Change lower atomic pass to use IntrinsicInst to simplify it a bit.Chris Lattner2010-09-052-41/+30
| | | | llvm-svn: 113114
* eliminate some non-obvious casts. UndefValue isa Constant.Chris Lattner2010-09-051-4/+4
| | | | llvm-svn: 113113
* Updated current status.Howard Hinnant2010-09-051-6/+6
| | | | llvm-svn: 113110
* fix PR8063, a crash in globalopt in the malloc analysis code.Chris Lattner2010-09-052-20/+44
| | | | llvm-svn: 113109
* Added initialisers for reduction rule counters.Lang Hames2010-09-051-0/+4
| | | | llvm-svn: 113108
* Fix warning reported by MSVC++ builder.Nick Lewycky2010-09-051-2/+2
| | | | llvm-svn: 113106
* Switch FnSet to containing the ComparableFunction instead of a pointer to one.Nick Lewycky2010-09-051-36/+67
| | | | | | This reduces malloc traffic (yay!) and removes MergeFunctionsEqualityInfo. llvm-svn: 113105
* Fix many bugs when merging weak-strong and weak-weak pairs. We now merge allNick Lewycky2010-09-051-98/+183
| | | | | | | strong functions first to make sure they're the canonical definitions and then do a second pass looking only for weak functions. llvm-svn: 113104
* No functional change. Replace Out << 'a' << 'b' with Out << "ab" and spellNick Lewycky2010-09-051-3/+3
| | | | | | David Vandevoorde's name correctly. llvm-svn: 113103
* implement rdar://6653118 - fastisel should fold loads where possible.Chris Lattner2010-09-057-15/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since mem2reg isn't run at -O0, we get a ton of reloads from the stack, for example, before, this code: int foo(int x, int y, int z) { return x+y+z; } used to compile into: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx movl 4(%rsp), %esi addl %edx, %esi movl (%rsp), %edx addl %esi, %edx movl %edx, %eax addq $12, %rsp ret Now we produce: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx addl 4(%rsp), %edx ## Folded load addl (%rsp), %edx ## Folded load movl %edx, %eax addq $12, %rsp ret Fewer instructions and less register use = faster compiles. llvm-svn: 113102
* sync with N3126Howard Hinnant2010-09-0583-0/+0
| | | | llvm-svn: 113101
* sync with N3126Howard Hinnant2010-09-0520-0/+0
| | | | llvm-svn: 113100
* sync with N3126Howard Hinnant2010-09-053-0/+0
| | | | llvm-svn: 113099
* sync with N3126Howard Hinnant2010-09-054-0/+0
| | | | llvm-svn: 113098
* sync with N3126Howard Hinnant2010-09-051-0/+0
| | | | llvm-svn: 113097
* "const id<NSFoo> *" instead of "id<NSFoo> const *".Chris Lattner2010-09-053-11/+13
| | | | | | I think this wraps up all the legal cases. llvm-svn: 113096
* "const id<NSFoo> *" not "id<NSFoo> const*"Chris Lattner2010-09-051-1/+3
| | | | llvm-svn: 113095
* "const std::vector<int>*" not "std::vector<int> const*"Chris Lattner2010-09-053-3/+3
| | | | llvm-svn: 113094
* "const _Complex float *" not "_Complex float const *"Chris Lattner2010-09-051-1/+2
| | | | llvm-svn: 113093
* 'const std::type_info*' instead of 'std::type_info const*'Chris Lattner2010-09-0521-47/+47
| | | | llvm-svn: 113092
* print "const intptr_t" instead of "intptr_t const"Chris Lattner2010-09-054-4/+5
| | | | llvm-svn: 113091
* make clang print types as "const int *" instead of "int const*",Chris Lattner2010-09-0545-69/+89
| | | | | | | which is should have done from the beginning. As usual, the most fun with this sort of change is updating all the testcases. llvm-svn: 113090
* Fix whitespaceHoward Hinnant2010-09-045-7/+6
| | | | llvm-svn: 113089
* revert this, it isn't safe.Chris Lattner2010-09-041-1/+2
| | | | llvm-svn: 113088
* tidy upChris Lattner2010-09-042-3/+2
| | | | llvm-svn: 113087
* Changed __config to react to all of clang's currently documented has_feature ↵Howard Hinnant2010-09-04404-1552/+1683
| | | | | | flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature. llvm-svn: 113086
* revise r112365 to fix the actual problem: the isa<TagType>(Underlying)Chris Lattner2010-09-041-15/+12
| | | | | | | check in the "typedef for anonymous type" check should have been a getAs. llvm-svn: 113085
* Remove dead code.Jakob Stoklund Olesen2010-09-042-112/+0
| | | | | | | Clobber ranges are no longer used when joining physical registers. Instead, all aliases are checked for interference. llvm-svn: 113084
* Casting of a property reference to 'void' did notFariborz Jahanian2010-09-042-2/+25
| | | | | | | generate the necessary code. This patch fixes it. // rdar://8389655 llvm-svn: 113079
* fix this to work with allocators that have reference type with compilersChris Lattner2010-09-041-3/+7
| | | | | | that diagnose invalid references to references. llvm-svn: 113078
* dead method.Chris Lattner2010-09-041-1/+0
| | | | llvm-svn: 113077
* zap more dead code.Chris Lattner2010-09-042-7/+4
| | | | llvm-svn: 113076
* delete dead code.Chris Lattner2010-09-041-29/+0
| | | | llvm-svn: 113075
* zap dead code.Chris Lattner2010-09-042-8/+2
| | | | llvm-svn: 113074
OpenPOWER on IntegriCloud