[PATCH] D45146: [x86] Introduce a pass to begin more systematically fixing PR36028 and similar issues.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 3 03:50:39 PDT 2018


chandlerc updated this revision to Diff 140751.
chandlerc added a comment.

Another major update.

We now have test coverage of tail calls which was the last major functionality
missing from this patch.

I've also now removed all of the old lowering for EFLAGS copies. I've also
removed the forced dynamic stack adjustment due to the presence of EFLAGS. This
even further improved the generated assembly for all the test cases in
question, many of which no longer require a frame pointer.

This also has passed the LLVM test suite with asserts enabled. I also have the
separation of DF from EFLAGS patch working on top of this one, passing all of
its tests and the LLVM test suite.


Repository:
  rL LLVM

https://reviews.llvm.org/D45146

Files:
  llvm/include/llvm/CodeGen/MachineBasicBlock.h
  llvm/lib/CodeGen/MachineBasicBlock.cpp
  llvm/lib/Target/X86/CMakeLists.txt
  llvm/lib/Target/X86/X86.h
  llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86ISelLowering.h
  llvm/lib/Target/X86/X86InstrInfo.cpp
  llvm/lib/Target/X86/X86TargetMachine.cpp
  llvm/test/CodeGen/X86/GlobalISel/add-scalar.ll
  llvm/test/CodeGen/X86/O0-pipeline.ll
  llvm/test/CodeGen/X86/O3-pipeline.ll
  llvm/test/CodeGen/X86/clobber-fi0.ll
  llvm/test/CodeGen/X86/cmpxchg-clobber-flags.ll
  llvm/test/CodeGen/X86/copy-eflags.ll
  llvm/test/CodeGen/X86/eflags-copy-expansion.mir
  llvm/test/CodeGen/X86/flags-copy-lowering.mir
  llvm/test/CodeGen/X86/mul-i1024.ll
  llvm/test/CodeGen/X86/peephole-na-phys-copy-folding.ll
  llvm/test/CodeGen/X86/win64_frame.ll
  llvm/test/CodeGen/X86/x86-repmov-copy-eflags.ll





More information about the llvm-commits mailing list