- Jun 30, 2009
-
-
Evan Cheng authored
Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them. The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing. This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def. llvm-svn: 74518
-
Bill Wendling authored
llvm-svn: 74515
-
Owen Anderson authored
llvm-svn: 74510
-
Chris Lattner authored
llvm-svn: 74509
-
Chris Lattner authored
llvm-svn: 74508
-
Bill Wendling authored
llvm-svn: 74507
-
Evan Cheng authored
llvm-svn: 74500
-
Andreas Bolka authored
llvm-svn: 74499
-
Dan Gohman authored
This will allow it to be used in unittests that use gtest's EXPECT_EQ. llvm-svn: 74494
-
Dan Gohman authored
llvm-svn: 74492
-
Dan Gohman authored
llvm-svn: 74491
-
Daniel Dunbar authored
- Don't print "Parsing" in front of every message. - Take additional "type" argument which is prepended to the message (with ": ") if given. - Update clients to print errors (warnings) as: <filename>:<line number>: error(warning): ... llvm-svn: 74489
-
Owen Anderson authored
Add LLVMContext, which will eventually be used as a container for privatizing a lot of (currently) global state, including the constant and type uniquing tables. For now, just make it a wrapper around the existing APIs. llvm-svn: 74488
-
Mikhail Glushenkov authored
llvm-svn: 74483
-
Mikhail Glushenkov authored
llvm-svn: 74482
-
Daniel Dunbar authored
llvm-svn: 74478
-
Devang Patel authored
llvm-svn: 74477
-
Daniel Dunbar authored
llvm-svn: 74473
-
David Greene authored
Add a 256-bit register class and YMM registers. llvm-svn: 74469
-
David Goodwin authored
llvm-svn: 74468
-
- Jun 29, 2009
-
-
Dan Gohman authored
Constant. This lets ConstantInts be handled as SCEVConstant instead of SCEVUnknown, as getUnknown no longer has special-case code for ConstantInt and friends. This usually doesn't affect the final output, since the constants end up getting folded later, but it does make intermediate expressions more obvious in many cases. llvm-svn: 74459
-
Daniel Dunbar authored
module support to build). llvm-svn: 74456
-
Torok Edwin authored
llvm-svn: 74455
-
Devang Patel authored
llvm-svn: 74452
-
Devang Patel authored
Update dwarf writer to only emit one DW_TAG_compile_unit per .o file. llvm-svn: 74449
-
Dan Gohman authored
an individual exhaustive evaluation reflects only the exit value implied by an individual exit, which may differ from the actual exit value of the loop if there are other exits. This fixes PR4477. llvm-svn: 74447
-
Rafael Espindola authored
Not sure I understand how the temp register gets used, but this fixes a bug and introduces no regressions. llvm-svn: 74446
-
Torok Edwin authored
Not doing so causes some unittests to fail, because CurSection is uninitialized. llvm-svn: 74442
-
Daniel Dunbar authored
llvm-svn: 74440
-
Andreas Bolka authored
llvm-svn: 74439
-
Torok Edwin authored
Also don't call finalizers for LoopPass if initialization was not called. Add a unittest that tests that these methods are called, in the proper order, and the correct number of times. llvm-svn: 74438
-
Dan Gohman authored
(otherwise harmless) uninitialized value warnings that Duncan found with gcc-4.4. llvm-svn: 74437
-
Owen Anderson authored
fence-atomic-fence down to just the atomic op. This is possible thanks to X86's relatively strong memory model, which guarantees that locked instructions (which are used to implement atomics) are implicit fences. llvm-svn: 74435
-
David Greene authored
Add processor descriptions for Istanbul and Shanghai. llvm-svn: 74429
-
David Greene authored
Fix a subtarget feature bug. llvm-svn: 74428
-
David Greene authored
Add more vector ValueTypes for AVX and other extended vector instruction sets. llvm-svn: 74427
-
David Goodwin authored
Rename ARMcmpNZ to ARMcmpZ and use it to represent comparisons that set only the Z flag (i.e. eq and ne). Make ARMcmpZ commutative. llvm-svn: 74423
-
Duncan Sands authored
llvm-svn: 74422
-
Duncan Sands authored
to make sure ThumbRegisterInfo.cpp are compiled and linked in. Patch by Xerxes. llvm-svn: 74421
-
Evan Cheng authored
After much back and forth, I decided to deviate from ARM design and split LDR into 4 instructions (r + imm12, r + imm8, r + r << imm12, constantpool). The advantage of this is 1) it follows the latest ARM technical manual, and 2) makes it easier to reduce the width of the instruction later. The down side is this creates more inconsistency between the two sub-targets. We should split ARM LDR instruction in a similar fashion later. I've added a README entry for this. llvm-svn: 74420
-