- Apr 01, 2009
-
-
Douglas Gregor authored
llvm-svn: 68159
-
Chris Lattner authored
llvm-svn: 68158
-
Ted Kremenek authored
llvm-svn: 68157
-
Chris Lattner authored
it be an LLVM IR User object. llvm-svn: 68156
-
Chris Lattner authored
attribute(used) and asm renaming are used together. llvm-svn: 68155
-
Chris Lattner authored
llvm-svn: 68151
-
Chris Lattner authored
if it dangles. llvm-svn: 68150
-
Chris Lattner authored
which are effectively smart pointers to Value*'s. They are both very light weight and simple, and react to values being destroyed or being RAUW'd. WeakVN does a best effort to follow a value around, including through RAUW operations and will get nulled out of the value is destroyed. This is useful for the eventual "metadata that references a value" work, because it is a reference to a value that does not show up on its use_* list. AssertingVH is a pointer that compiles down to a dumb raw pointer when assertions are disabled. When enabled, it emits an assertion if the pointed-to value is destroyed while it is still being referenced. This is very useful for Maps and other things, and should have caught the recent bugs in CallGraph and Reassociate, for example. llvm-svn: 68149
-
- Mar 31, 2009
-
-
Daniel Dunbar authored
- PR3875. - <rdar://problem/6615249> [driver] ccc should support some form of --help llvm-svn: 68148
-
Chris Lattner authored
llvm-svn: 68147
-
Daniel Dunbar authored
Also, removed default value for getOptionMetaVar. llvm-svn: 68146
-
Chris Lattner authored
llvm-svn: 68145
-
Daniel Dunbar authored
the preprocessor. - PR3602. - As is inherent in the blanket forwarding options, this will only work if clang-cc happens to accept what the user passed. Users by and large should use driver options to interact with the preprocessor, if at all possible. llvm-svn: 68144
-
Evan Cheng authored
Throttle back "fold select into operand" transformation. InstCombine should not generate selects of two constants unless they are selects of 0 and 1. e.g. define i32 @t1(i32 %c, i32 %x) nounwind { %t1 = icmp eq i32 %c, 0 %t2 = lshr i32 %x, 18 %t3 = select i1 %t1, i32 %t2, i32 %x ret i32 %t3 } was turned into define i32 @t2(i32 %c, i32 %x) nounwind { %t1 = icmp eq i32 %c, 0 %t2 = select i1 %t1, i32 18, i32 0 %t3 = lshr i32 %x, %t2 ret i32 %t3 } For most targets, that means materializing two constants and then a select. e.g. On x86-64 movl %esi, %eax shrl $18, %eax testl %edi, %edi cmovne %esi, %eax ret => xorl %eax, %eax testl %edi, %edi movl $18, %ecx cmovne %eax, %ecx movl %esi, %eax shrl %cl, %eax ret Also, the optimizer and codegen can reason about shl / and / add, etc. by a constant. This optimization will hinder optimizations using ComputeMaskedBits. llvm-svn: 68142
-
Ted Kremenek authored
refactoring to make this possible (no functionality change). llvm-svn: 68141
-
Douglas Gregor authored
llvm-svn: 68140
-
Daniel Dunbar authored
- Currently unused. And yes, now may be about the time I want a TableGen backend. llvm-svn: 68139
-
Daniel Dunbar authored
llvm-svn: 68138
-
Douglas Gregor authored
llvm-svn: 68136
-
Evan Cheng authored
llvm-svn: 68134
-
Evan Cheng authored
llvm-svn: 68133
-
Daniel Dunbar authored
- Current return-arguments-32 status: 15/1000 failures llvm-svn: 68132
-
Ted Kremenek authored
low-level frontend driver. llvm-svn: 68131
-
Ted Kremenek authored
llvm-svn: 68130
-
Dan Gohman authored
entered via fall-through. Don't miss fallthroughs from blocks terminated by conditional branches. Also, move isOnlyReachableByFallthrough out of line. llvm-svn: 68129
-
Douglas Gregor authored
template template parameters and dependent template names. For example, the oft-mentioned typename MetaFun::template apply<T1, T2>::type can now be instantiated, with the appropriate name lookup for "apply". llvm-svn: 68128
-
Mikhail Glushenkov authored
Does not work well on 32 bit targets. Bug reported by Albert Graef. This patch also adds new "-Wllc,option" syntax to pass options to llc. llvm-svn: 68127
-
Douglas Gregor authored
llvm-svn: 68126
-
Fariborz Jahanian authored
Patch by David Chisnal. llvm-svn: 68125
-
Dan Gohman authored
possible to run the tests with -asm-verbose defaulting to false. llvm-svn: 68124
-
Fariborz Jahanian authored
llvm-svn: 68122
-
Daniel Dunbar authored
- Patch by Ed Schouten! llvm-svn: 68121
-
Devang Patel authored
Patch by Jay Foad. llvm-svn: 68120
-
Daniel Dunbar authored
- Always pass -triple to clang-cc (-arch will be removed). - clang-cc doesn't play guess work with the target triple anymore. llvm-svn: 68119
-
Daniel Dunbar authored
llvm::sys::getOS{Name,Version}. Right now the implementation just derives from LLVM_HOSTTRIPLE (which is wrong, but it doesn't look like we have a define for the target triple). Ideally this routine would actually be able to compute the triple for targets we care about. llvm-svn: 68118
-
Steve Naroff authored
llvm-svn: 68117
-
Anders Carlsson authored
llvm-svn: 68116
-
Fariborz Jahanian authored
llvm-svn: 68115
-
Steve Naroff authored
Changed GenerateConstantString() to take an ObjCStringLiteral (instead of a std::string). While this isn't strictly necessary, it seems cleaner and allows us to cache to "containsNonAscii" if necessary (to avoid checking in both Sema and CodeGen). llvm-svn: 68114
-
Dan Gohman authored
llvm-svn: 68113
-