- Sep 15, 2009
-
-
Daniel Dunbar authored
llvm-svn: 81909
-
Nate Begeman authored
Better solution for tracking both the original alignment of the access, and the current alignment based on the source value offset. This avoids increasing the size of mem nodes. llvm-svn: 81897
-
Sean Callanan authored
to the Intel register table. Added 16- and 64-bit MOVs to and from the segment registers to the Intel instruction tables. llvm-svn: 81895
-
Dale Johannesen authored
interrupt instruction, which shouldn't arise any other way). 0xcd is also used by JITMemoryManager to initialize the buffer to garbage, which means it could appear following a noreturn call even when that is not a stub, confusing X86CompilationCallback2. PR 4929. llvm-svn: 81888
-
Chris Lattner authored
values to machineinstrs. llvm-svn: 81886
-
Chris Lattner authored
llvm-svn: 81881
-
Bob Wilson authored
VLDM/VSTM instructions, and without this check, the code assumes that an offset is allowed, as it would be with VLDR/VSTR. The asm printer, however, silently drops the offset, producing incorrect code. Since the address register in this case is either the stack or frame pointer, the spill location ends up conflicting with some other stack slot or with outgoing arguments on the stack. llvm-svn: 81879
-
Sandeep Patel authored
llvm-svn: 81878
-
Chris Lattner authored
and PIC codegen. Patch by Venkatraman Govindaraju! llvm-svn: 81877
-
Dan Gohman authored
not folded in the constant folder because the constant folder doesn't simplify ConstantExpr operands. llvm-svn: 81864
-
Dan Gohman authored
llvm-svn: 81862
-
Dan Gohman authored
instead of cloning and RAUWing it. - Make AbstractTypeUser a friend of Value so that it can offer its subclasses a way to update a Value's type in place. This is better than a universally visible setType method on Value, and it's sufficient for the immediate need. - Eliminate the constant "convert" functions. This eliminates a lot of logic duplication, and fixes a complicated bug where a constant can't actually be cloned during the type refinement process because some of the types that its folder needs are half-destroyed, being in the middle of refinement themselves. - Move the getValType functions from being static overloaded functions in Constants.cpp to be members of class template specializations in ConstantsContext.h. This means that the code ends up getting instantiated twice, however it also makes it possible to eliminate all "convert" functions, so it's not a big net code size increase. And if desired, the duplicate instantiations could be eliminated with some reorganization. llvm-svn: 81861
-
Nick Lewycky authored
llvm-svn: 81851
-
Evan Cheng authored
Another try at early partial coalescing. Identity phi source copies (their sources are defined by phi join def) are coalesced. And the phi join copy is backward copy propagated into the other copies. Still miscompiling some tests. :-( llvm-svn: 81849
-
Nick Lewycky authored
While I'm there, change code that does: SomeTy == Type::getFooType(Context) into: SomeTy->getTypeID() == FooTyID to decrease the amount of useless type creation which may involve locking, etc. llvm-svn: 81846
-
Chris Lattner authored
an unpacked one. llvm-svn: 81845
-
Chris Lattner authored
argpromote to avoid invalidating an iterator. This fixes PR4977. All clang tests now pass with expensive checking (on my system at least). llvm-svn: 81843
-
Chris Lattner authored
llvm-svn: 81840
-
Chris Lattner authored
are in the SCC for each execution of a CGSCC pass. llvm-svn: 81838
-
Chris Lattner authored
llvm-svn: 81836
-
Ted Kremenek authored
llvm-svn: 81827
-
Mikhail Glushenkov authored
GetProcessId was introduced only in XP. As a bonus, this change makes Program objects copyable, since Program is now basically a PID. llvm-svn: 81826
-
Dan Gohman authored
has multiple uses, as one of the other uses may be on a path to a different node above the callseq_start, because that leads to a cyclic graph. This problem is exposed when -combiner-global-alias-analysis is used. This fixes PR4880. llvm-svn: 81821
-
Nate Begeman authored
llvm-svn: 81819
-
Sean Callanan authored
versions of CALL and JMP with segmented addresses provided in-line, as pairs of immediates. llvm-svn: 81818
-
Kevin Enderby authored
parses the .word directive as 4 bytes and ARMAsmParser::ParseInstruction will give an error is called. Broke out the test of the .word directive into two different test cases, one for x86 and one for arm. llvm-svn: 81817
-
Nate Begeman authored
1. Switch from an std::set to a SmallPtrSet for visited chain nodes. 2. Do not force the recursive flattening of token factor nodes, regardless of use count. 3. Immediately process newly created TokenFactor nodes. Also, improve combiner-aa by teaching it that loads to non-overlapping offsets of relatively aligned objects cannot alias. These changes result in a >5x speedup for combiner-aa on most testcases. llvm-svn: 81816
-
Nate Begeman authored
it splits them. llvm-svn: 81815
-
Dan Gohman authored
its result if the condition is false. llvm-svn: 81814
-
Nate Begeman authored
DAG Combiner to disambiguate chains for loads and stores of types which are broken up by the Legalizer into smaller pieces. llvm-svn: 81813
-
Dan Gohman authored
memset region to the alignment of the new start address. llvm-svn: 81810
-
- Sep 14, 2009
-
-
Evan Cheng authored
Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this. The gist of this is if source of some of the copies that feed into a phi join is defined by the phi join, we'd like to eliminate them. However, if any of the non-identity source overlaps the live interval of the phi join then the coalescer won't be able to coalesce them. The early coalescer's job is to eliminate the identity copies by partially-coalescing the two live intervals. llvm-svn: 81796
-
Bill Wendling authored
created once, so shouldn't be stuck in the middle of the loop. Also early exit if there are no uses of UnwindInst in the function. llvm-svn: 81785
-
Jim Grosbach authored
llvm-svn: 81773
-
Chris Lattner authored
llvm-svn: 81770
-
Daniel Dunbar authored
llvm-svn: 81757
-
Chris Lattner authored
llvm-svn: 81755
-
Chris Lattner authored
full AsmPrinter, and change TargetRegistry to keep track of registered MCInstPrinters. llvm-mc is still linking in the entire target foo to get the code emitter stuff, but this is an important step in the right direction. llvm-svn: 81754
-
Nick Lewycky authored
llvm-svn: 81750
-
Nick Lewycky authored
been told that the type is no longer abstract. llvm-svn: 81749
-