- Jun 03, 2010
-
-
Dale Johannesen authored
A temporary flag -arm-tail-calls defaults to off, so there is no functional change by default. Intrepid users may try this; simple cases work but there are bugs. llvm-svn: 105413
-
Eli Friedman authored
operand of a throw expression. Fixes PR7281. llvm-svn: 105408
-
Dan Gohman authored
needs to demand the high bits because it's asserting that they're zero. llvm-svn: 105406
-
Eli Friedman authored
actually care about it. Fixes PR7291. llvm-svn: 105404
-
Howard Hinnant authored
llvm-svn: 105402
-
John McCall authored
This is required in order to test: The ASTImporter should set base classes after formally entering the definition. llvm-svn: 105401
-
Bob Wilson authored
llvm-svn: 105399
-
Nick Lewycky authored
llvm-svn: 105397
-
Benjamin Kramer authored
llvm-svn: 105396
-
Nick Lewycky authored
llvm-svn: 105395
-
Howard Hinnant authored
llvm-svn: 105394
-
Howard Hinnant authored
llvm-svn: 105393
-
Ted Kremenek authored
Return a proper null CXSourceLocation from clang_getLocation() when the SourceLocation is invalid. Fixes <rdar://problem/8056640>. llvm-svn: 105392
-
Anders Carlsson authored
llvm-svn: 105391
-
Benjamin Kramer authored
llvm-svn: 105390
-
Rafael Espindola authored
needed. The result is that now we are able to drop unnecessary symbol from shared libraries. llvm-svn: 105389
-
Bill Wendling authored
registers it defines then interfere with an existing preg live range. For instance, if we had something like these machine instructions: BB#0 ... = imul ... EFLAGS<imp-def,dead> test ..., EFLAGS<imp-def> jcc BB#2 EFLAGS<imp-use> BB#1 ... ; fallthrough to BB#2 BB#2 ... ; No code that defines EFLAGS jcc ... EFLAGS<imp-use> Machine sink will come along, see that imul implicitly defines EFLAGS, but because it's "dead", it assumes that it can move imul into BB#2. But when it does, imul's "dead" imp-def of EFLAGS is raised from the dead (a zombie) and messes up the condition code for the jump (and pretty much anything else which relies upon it being correct). The solution is to know which pregs are live going into a basic block. However, that information isn't calculated at this point. Nor does the LiveVariables pass take into account non-allocatable physical registers. In lieu of this, we do a *very* conservative pass through the basic block to determine if a preg is live coming out of it. llvm-svn: 105387
-
Benjamin Kramer authored
implementation. Force the internal one to unbreak clang selfhost on linux. llvm-svn: 105386
-
Jordy Rose authored
llvm-svn: 105385
-
Zhongxing Xu authored
llvm-svn: 105384
-
Zhongxing Xu authored
llvm-svn: 105383
-
Zhongxing Xu authored
llvm-svn: 105382
-
Eric Christopher authored
llvm-svn: 105381
-
Nate Begeman authored
arm_neon.h now makes it through clang and generates appropriate code for those functions which can use generic vector operators rather than __builtin_neon_* llvm-svn: 105380
-
Eric Christopher authored
llvm-svn: 105379
-
Eli Friedman authored
expansion is the same as that used by LegalizeDAG. The resulting code sucks in terms of performance/codesize on x86-32 for a 64-bit operation; I haven't looked into whether different expansions might be better in general. llvm-svn: 105378
-
Eli Friedman authored
llvm-svn: 105377
-
Eli Friedman authored
llvm-svn: 105376
-
Eli Friedman authored
llvm-svn: 105375
-
Anders Carlsson authored
llvm-svn: 105374
-
Jakob Stoklund Olesen authored
This affects both llvm-gcc and clang. llvm-svn: 105372
-
Jakob Stoklund Olesen authored
spills and reloads. This means that a partial define of a register causes a reload so the other parts of the register are preserved. The reload can be prevented by adding an <imp-def> operand for the full register. This is already done by the coalescer and live interval analysis where relevant. llvm-svn: 105369
-
Jakob Stoklund Olesen authored
register updates. These operands tell the spiller that the other parts of the partially defined register are don't-care, and a reload is not necessary. llvm-svn: 105361
-
Devang Patel authored
Speedup bitcode writer. Do not walk all values for all functions to emit function local metadata. In one testcase, probably worst case scenario, the 70x speed up is seen. llvm-svn: 105360
-
Bill Wendling authored
llvm-svn: 105359
-
Jakob Stoklund Olesen authored
instruction defines subregisters. Any existing subreg indices on the original instruction are preserved or composed with the new subreg index. Also substitute multiple operands mentioning the original register by using the new MachineInstr::substituteRegister() function. This is necessary because there will soon be <imp-def> operands added to non read-modify-write partial definitions. This instruction: %reg1234:foo = FLAP %reg1234<imp-def> will reMaterialize(%reg3333, bar) like this: %reg3333:bar-foo = FLAP %reg333:bar<imp-def> Finally, replace the TargetRegisterInfo pointer argument with a reference to indicate that it cannot be NULL. llvm-svn: 105358
-
Benjamin Kramer authored
llvm-svn: 105355
-
Benjamin Kramer authored
llvm-svn: 105354
-
Benjamin Kramer authored
llvm-svn: 105353
-
Benjamin Kramer authored
OSX users: make sure that CrashReporter is disabled when running unit tests. Death tests are enabled now so you'll get a ton of message boxes. llvm-svn: 105352
-