1. 52f7e14 Fix for PR4121. If TwoAddressInstructionPass removes a dead def, and the regB by Lang Hames · 16 years ago
  2. c28dd52 Avoid warning in release-asserts build. by Mike Stump · 16 years ago
  3. 71bd038 Fix for PR4051. When 2address pass delete an instruction, update kill info when necessary. by Evan Cheng · 16 years ago
  4. e65047a Fix PR3934 part 2. findOnlyInterestingUse() was not setting IsCopy and IsDstPhys which are returned by value and used by callee. This happened to work on the earlier test cases because of a logic error in the caller side. by Evan Cheng · 16 years ago
  5. 4bdceb8 PR3934: Fix a bogus two-address pass assertion. by Evan Cheng · 16 years ago
  6. 6082c7e Add an assertion to verify that a copy was actually emitted. by Dan Gohman · 16 years ago
  7. 4cedb1c Implement support for using modeling implicit-zero-extension on x86-64 by Dan Gohman · 16 years ago
  8. dd21b3f Turn a 2-address instruction into a 3-address one when it's profitable even if the two-address operand is killed. by Evan Cheng · 16 years ago
  9. 2682ea0 Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies. by Evan Cheng · 17 years ago
  10. 48555e8 Added MachineInstr::isRegTiedToDefOperand to check for two-addressness. by Evan Cheng · 17 years ago
  11. 819200f Minor optimization: by Evan Cheng · 17 years ago
  12. 6f856b9 If two-address def is dead and the instruction does not define other registers, and it doesn't produce side effects, just delete the instruction. by Evan Cheng · 17 years ago
  13. 4e0d6a7 Rename getAnalysisToUpdate to getAnalysisIfAvailable. by Duncan Sands · 17 years ago
  14. 58d5ef2 Teach 2addr pass to be do more commuting. If both uses of a two-address instruction are killed, but the first operand has a use before and after the def, commute if the second operand does not suffer from the same issue. by evancheng · 17 years ago
  15. b473d2e Refactor code. No functionality change. by Evan Cheng · 17 years ago
  16. c24a3f8 Tidy up #includes, deleting a bunch of unnecessary #includes. by Dan Gohman · 17 years ago
  17. 4db58f9 Do the LiveVariables update before printing the instruction in by Dan Gohman · 17 years ago
  18. bac9ae2 Add an option to enable StrongPHIElimination, for ease of testing. by Owen Anderson · 17 years ago
  19. b9f4fa7 Switch the MachineOperand accessors back to the short names like by Dan Gohman · 17 years ago
  20. 26f8c27 Tidy up several unbeseeming casts from pointer to intptr_t. by Dan Gohman · 17 years ago
  21. a02c669 Move the check whether it's worth remating to caller. by Evan Cheng · 17 years ago
  22. 75e2cee Refactor isSafeToReMat out of 2addr pass. by Evan Cheng · 17 years ago
  23. e52c191 - Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc. by Evan Cheng · 17 years ago
  24. d1c7e8f - Add LiveVariables::replaceKillInstruction. This does a subset of instructionChanged. That is, it only update the VarInfo.kills if the new instruction is known to have the correct dead and kill markers. by Evan Cheng · 17 years ago
  25. c695972 Make LiveVariables even more optional, by making it optional in the call to TargetInstrInfo::convertToThreeAddressInstruction by Owen Anderson · 17 years ago
  26. b923217 TwoAddressInstructionPass doesn't really require LiveVariables, it just needs to update it if it's already around. by Owen Anderson · 17 years ago
  27. 66bf3ba Remove unneeded include. by Evan Cheng · 17 years ago
  28. d2b9d30 Enable two-address remat by default. by Evan Cheng · 17 years ago
  29. a18a253 Missed a check. by Evan Cheng · 17 years ago
  30. 990dd2b Complete support for two-address pass rematerialization. Now *almost* always a win. by Evan Cheng · 17 years ago
  31. ba5d5b0 Implement "AsCheapAsAMove" for some obviously cheap instructions: xor and the by Bill Wendling · 17 years ago
  32. 023520f Check the "isSafeToMove" predicate, which has a series of tests to make sure by Bill Wendling · 17 years ago
  33. b574670 Incorporated feedback: Check that the implicitly defined operands aren't used by Bill Wendling · 17 years ago
  34. c3852fc The enabling of remat in 2-address conversion breaks this test: by Bill Wendling · 17 years ago
  35. 3334b27 A problem that's exposed when machine LICM is enabled. Consider this code: by Bill Wendling · 17 years ago
  36. 66a636e Change class' public PassInfo variables to by initialized with the by Dan Gohman · 17 years ago
  37. 089efff Clean up the use of static and anonymous namespaces. This turned up by Dan Gohman · 17 years ago
  38. 0628927 Cosmetic changes: by Bill Wendling · 17 years ago
  39. 478568d Fix a memory bug: increment an iterator of a deleted machine instr. by Evan Cheng · 17 years ago
  40. 0da7d78 Typo. by Evan Cheng · 18 years ago
  41. fdde77b Don't try to sink 3-address instruction if convertToThreeAddress created more than one instructions. by Evan Cheng · 18 years ago
  42. 1a1af00 Remove an unused command line option. by Evan Cheng · 18 years ago
  43. 0c85fe6 TwoAddressInstructionPass enhancement. After it converts a two address instruction into a 3-address one, sink it past the instruction that kills the read-mod-write register if its definition is used past the kill. This reduces the number of live register by one. by Evan Cheng · 18 years ago
  44. c7daf1f Refactor code. Remove duplicated functions that basically do the same thing as by Evan Cheng · 18 years ago
  45. 1e57df3 Rename MRegisterInfo to TargetRegisterInfo. by Dan Gohman · 18 years ago
  46. 92a609a Remove DefInst from LiveVariables::VarInfo. Use the facilities on MachineRegisterInfo instead. by Owen Anderson · 18 years ago
  47. 5b93037 rename TargetInstrDescriptor -> TargetInstrDesc. by Chris Lattner · 18 years ago
  48. d8529ab Rename all the M_* flags to be namespace qualified enums, and switch by Chris Lattner · 18 years ago
  49. d6bfd8a add more and significantly better comments to the rest of the machineinstr by Chris Lattner · 18 years ago
  50. 0c2a4f3 Move a bunch more accessors from TargetInstrInfo to TargetInstrDescriptor by Chris Lattner · 18 years ago
  51. 6232760 Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects by Chris Lattner · 18 years ago
  52. 6226436 Don't recalculate the loop info and loop dominators analyses if they're by Bill Wendling · 18 years ago
  53. 8f2c893 Move copyRegToReg from MRegisterInfo to TargetInstrInfo. This is part of the by Owen Anderson · 18 years ago
  54. 1b98919 Rename SSARegMap -> MachineRegisterInfo in keeping with the idea by Chris Lattner · 18 years ago
  55. 081ce94 Remove attribution from file headers, per discussion on llvmdev. by Chris Lattner · 18 years ago
  56. 34971fd As Chris and Evan pointed out, BreakCriticalMachineEdges doesn't really need by Owen Anderson · 18 years ago
  57. ee170f9 This preserves critical edge breaking. by Owen Anderson · 18 years ago
  58. 721b2cc Bring UsedBlocks back. StrongPHIElimination needs this information. by Owen Anderson · 18 years ago
  59. b5130eb It's possible to commute instrctions with more than 3 operands. by Evan Cheng · 18 years ago
  60. 8ba2af5 Added missing curly braces which renders the if clause useless in debug build. by Evan Cheng · 18 years ago
  61. b3d91cf Allow copyRegToReg to emit cross register classes copies. by Evan Cheng · 18 years ago
  62. f17a25c It's not necessary to do rounding for alloca operations when the requested by Dan Gohman · 18 years ago