- Jul 09, 2011
-
-
Chris Lattner authored
llvm-svn: 134831
-
Chris Lattner authored
patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-) Removing almost 3K lines of code is a good thing. Other advantages include: 1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere. Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this. There are still some cleanups pending after this, this patch is large enough as-is. llvm-svn: 134829
-
Greg Clayton authored
llvm-svn: 134827
-
Greg Clayton authored
llvm-svn: 134826
-
Greg Clayton authored
breakpoint. I haven't been able to see this breakpoint get hit yet so I still have testing I need to do with the kernel dynamic loader. llvm-svn: 134825
-
Greg Clayton authored
thanks to a nice clang warning! llvm-svn: 134824
-
Greg Clayton authored
variable where we were using a static cast when we shouldn't have been. Fixed another array related issue where we weren't looking through a typedef. llvm-svn: 134823
-
Chris Lattner authored
llvm-svn: 134822
-
Chris Lattner authored
used by the new bitcode reader. llvm-svn: 134821
-
Chris Lattner authored
llvm-svn: 134820
-
Chris Lattner authored
llvm-svn: 134819
-
Chris Lattner authored
llvm-svn: 134818
-
Howard Hinnant authored
llvm-svn: 134815
-
NAKAMURA Takumi authored
With Lit (not bash) in a test, multiple redirects >%t might open(%t, "w") multiple. It can be avoided if latter redirect is >>%t. It might work even if ">/dev/null" were used. llvm-svn: 134814
-
John McCall authored
expecting so much concentrated oddity on what seemed like a trivial feature. Thanks to François Pichet for doing the MSVC legwork here. llvm-svn: 134813
-
NAKAMURA Takumi authored
llvm-svn: 134812
-
Evan Cheng authored
llvm-svn: 134811
-
NAKAMURA Takumi authored
llvm-svn: 134809
-
Chris Lattner authored
llvm-svn: 134808
-
Evan Cheng authored
llvm-svn: 134800
-
Evan Cheng authored
llvm-svn: 134797
-
Evan Cheng authored
CPU, and feature string. Parsing some asm directives can change subtarget state (e.g. .code 16) and it must be reflected in other modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance must be shared. llvm-svn: 134795
-
Alexis Hunt authored
glibc, for instance, it's a const char *. llvm-svn: 134787
-
Raghesh Aloor authored
isl/map.h is included in OpenScopExporter.cpp and OpenScopImporter.cpp llvm-svn: 134786
-
John McCall authored
llvm-svn: 134785
-
John McCall authored
- Emit default-initialization of arrays that were partially initialized with initializer lists with a loop, rather than emitting the default initializer N times; - support destroying VLAs of non-trivial type, although this is not yet exposed to users; and - support the partial destruction of arrays initialized with initializer lists when an initializer throws an exception. llvm-svn: 134784
-
Alexis Hunt authored
llvm-svn: 134783
-
Jakob Stoklund Olesen authored
Spills should be hoisted out of loops, but we don't want to hoist them to dominating blocks at the same loop depth. That could cause the spills to be executed more often. llvm-svn: 134782
-
Alexis Hunt authored
traits. To the best of my knowledge, this will not break the ABI for Apple. However, it does introduce three publicly visible (although with reserved name) functions that will fail to link against the just-shipped Apple version of libc++. Since they are not used in any inline functions, no actual breakage should occur. If Howard doesn't want to put undefined functions (even internal ones) into a header, they could be surrounded by additional conditional compilation. llvm-svn: 134781
-
Jim Ingham authored
llvm-svn: 134780
-
Greg Clayton authored
shared library, etc) and strata (user/kernel) from an object file. This will help with plug-in and platform selection when given a new binary with the "target create <file>" command. llvm-svn: 134779
-
Lang Hames authored
llvm-svn: 134778
-
Lang Hames authored
Added recognition for signed add/sub/mul with overflow intrinsics to GVN as per Chris and Frits suggestion. llvm-svn: 134777
-
Jakob Stoklund Olesen authored
Try to move spills as early as possible in their basic block. This can help eliminate interferences by shortening the live range being spilled. This fixes PR10221. llvm-svn: 134776
-
Johnny Chen authored
llvm-svn: 134775
-
Eli Friedman authored
llvm-svn: 134774
-
Eli Friedman authored
Really force on 64bit for 64-bit targets. Should fix remaining failures on unknown x86/non-x86 targets. llvm-svn: 134773
-
-
Johnny Chen authored
llvm-svn: 134771
-
Eli Friedman authored
Note that because we don't usually touch the MMX registers anyway, all -mno-mmx needs to do is tweak the x86-32 calling convention a little for vectors that look like MMX vectors, and prevent the definition of __MMX__. clang doesn't actually stop the user from using MMX inline asm operands or MMX builtins in -mno-mmx mode; as a QOI issue, it would be nice to diagnose, but I doubt it really matters much. <rdar://problem/9694837> llvm-svn: 134770
-