- May 17, 2010
-
-
Jakob Stoklund Olesen authored
This fixes the miscompilations of MultiSource/Applications/JM/l{en,de}cod. Clang now successfully self hosts in a debug build with the fast register allocator. llvm-svn: 103975
-
Eric Christopher authored
llvm-svn: 103974
-
John McCall authored
out. The remaining ones are okay. llvm-svn: 103973
-
Chandler Carruth authored
llvm-svn: 103972
-
Evan Cheng authored
llvm-svn: 103971
-
Howard Hinnant authored
llvm-svn: 103970
-
Bob Wilson authored
Obvious in retrospect but not fun to debug. llvm-svn: 103969
-
Chris Lattner authored
make it miss (invalid) things like: <<<<<<< >>>>>>> and crash if <<<<<<< was at the end of the line. When we find a >>>>>>> that is not at the end of the line, make sure to reset Pos so we don't crash on something like: <<<<<<< >>>>>>> This isn't worth making testcases for, since each would require a new file. rdar://7987078 - signal 11 compiling "<<<<<<<<<<" llvm-svn: 103968
-
Ted Kremenek authored
llvm-svn: 103966
-
John McCall authored
Fixes rdar://problem/7992749 llvm-svn: 103965
-
Daniel Dunbar authored
- Don't clear weak reference flag, 'as' was only "trying" to do this, it wasn't actually succeeding. - Clear the "lazy bound" bit when we mark something external. This corresponds roughly to the lazy clearing of the bit that 'as' implements in symbol_table_lookup. - The exact meaning of these flags appears pretty loose, since 'as' isn't very consistent. For now we just try to match 'as', we will clean this up one day hopefully. llvm-svn: 103964
-
Ted Kremenek authored
is declared static. llvm-svn: 103963
-
Jakob Stoklund Olesen authored
llvm-svn: 103962
-
Jakob Stoklund Olesen authored
llvm-svn: 103961
-
Evan Cheng authored
Using NEON load / store multiple instructions will no longer create gobs of vmov of D registers! llvm-svn: 103960
-
Douglas Gregor authored
llvm-svn: 103959
-
Douglas Gregor authored
typedefs. As a drive-by, teach hit how to build VLA types, since those will eventually be supported in C++. llvm-svn: 103958
-
Howard Hinnant authored
llvm-svn: 103957
-
Douglas Gregor authored
llvm-svn: 103954
-
Fariborz Jahanian authored
to mark its destructors as referenced which may cause a crash. Fixes radar 7896920 llvm-svn: 103953
-
Douglas Gregor authored
functions defined inside a class template. Fixes PR6952, the last Boost.Units failure. llvm-svn: 103952
-
Daniel Dunbar authored
variable has not yet been used in an expression. This allows us to support a few cases that show up in real code (mostly because gcc generates it for Objective-C on Darwin), without giving up a reasonable semantic model for assignment. llvm-svn: 103950
-
Douglas Gregor authored
class template conflicts with an existing (non-template) definition. This is another part of PR6952. llvm-svn: 103948
-
Jakob Stoklund Olesen authored
While that approach works wonders for register pressure, it tends to break everything. This should unbreak the arm-linux builder and fix a number of miscompilations. llvm-svn: 103946
-
Daniel Dunbar authored
llvm-svn: 103945
-
Daniel Dunbar authored
- Check bases as part of isEmptyRecord(). - C++ record fields are never empty in the Itanium ABI. llvm-svn: 103944
-
Douglas Gregor authored
within class templates be instantiated along with each class template specialization, even if the functions are not used. Do so, as a baby step toward PR6952. llvm-svn: 103943
-
Howard Hinnant authored
llvm-svn: 103942
-
Douglas Gregor authored
function does not return. Thanks to Eli for pointing out this corner case. llvm-svn: 103941
-
Jakob Stoklund Olesen authored
llvm-svn: 103940
-
Jakob Stoklund Olesen authored
out aliases when allocating. Clean up allocVirtReg(). Use calcSpillCost() to allow more aggressive hinting. Now the hint is always taken unless blocked by a reserved register. This leads to more coalescing, lower register pressure, and less spilling. llvm-svn: 103939
-
David Chisnall authored
Pick the correct personality function based on the language. This prevents link failures when C/ObjC code uses __attribute__((cleanup())) (previously this was inserting references to two libstc++ symbols; the personality function and the __terminate() function). This is still probably wrong for Objective-C++ and adds a couple of lines in CGException that should probably be in the CGObjCRuntime subclass. The personality function is now only looked up in one place in CGException though, so this should be easier to fix in the future. llvm-svn: 103938
-
Howard Hinnant authored
llvm-svn: 103937
-
Zhongxing Xu authored
llvm-svn: 103936
-
Jakob Stoklund Olesen authored
This makes allocation independent on the ordering of use-def chains. llvm-svn: 103935
-
Jakob Stoklund Olesen authored
llvm-svn: 103934
-
Jakob Stoklund Olesen authored
This is safe to do because the physreg has been marked UsedInInstr and the kill flag will be set on the last operand using the virtreg if there are more then one. llvm-svn: 103933
-
Eli Friedman authored
definitions. llvm-svn: 103932
-
Jakob Stoklund Olesen authored
llvm-svn: 103931
-
Jakob Stoklund Olesen authored
through the very long list of call-clobbered registers. We just assume all registers are clobbered. llvm-svn: 103930
-