SuccessChanges

Summary

  1. [NFC] Style cleanup (details)
  2. Revert "DebugInfo: Fix rangesBaseAddress DICompileUnit bitcode (details)
  3. [NFC] Make X86MCCodeEmitter::isPCRel32Branch static (details)
  4. [Attributor] Annotate the memory behavior of call site arguments (details)
  5. [Attributor] Use abstract call sites to determine associated arguments (details)
  6. [Attributor] Propagate known align from arguments to call sites (details)
  7. [Utils] Allow update_test_checks to scrub attribute annotations (details)
  8. [Utils] Reuse argument variable names in the body (details)
Commit 5b1cbfa4232ee81e62a16534113aeb7401841f82 by shengchen.kan
[NFC] Style cleanup
1. Remove function is64BitMode() and use STI.hasFeature(X86::Mode16Bit)
directly 2. Use Doxygen features in comment 3. Rename functions to make
them start with a lower case letter 4. Format the code with clang-format
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit b350c666ab65b7585bc58301b03d2b46dc6b0504 by dblaikie
Revert "DebugInfo: Fix rangesBaseAddress DICompileUnit bitcode
serialization/deserialization"
Seeing some curious CFI failures internally - which makes little sense
to me, as I don't think anyone is using this flag (even us,
internally)... so sounds like a bug in my code somewhere (possibly a
latent one that propagating this flag exposed, not sure). Reverting
while I investigate.
This reverts commit c51b45e32ef7f35c11891f60871aa9c2c04cd991.
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/test/Assembler/dicompileunit.ll
The file was modifiedllvm/test/DebugInfo/X86/range_reloc.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
Commit 23a6ae2b0624278646929d5cbed360f79be505ac by shengchen.kan
[NFC] Make X86MCCodeEmitter::isPCRel32Branch static
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit 28880198718b51a8d590d6e8194f2932683bdd54 by johannes
[Attributor] Annotate the memory behavior of call site arguments
Especially for callbacks, annotating the call site arguments is
important. Doing so exposed a too strong dependence of AAMemoryBehavior
on AANoCapture since we handle the case of potentially captured pointers
explicitly.
The changes to the tests are all mechanical.
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
The file was modifiedllvm/test/Transforms/Attributor/misc.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
Commit b1b441d22de88ec9816403ab6d0541ca91faba16 by johannes
[Attributor] Use abstract call sites to determine associated arguments
This is the second step after D67871 to make use of abstract call sites.
In this patch the argument we associate with a abstract call site
argument can be the one in the callback callee instead of the one in the
callback broker.
Caveat: We cannot allow no-alias arguments for problematic callbacks: As
described in [1], adding no-alias (or restrict) to arguments could break
synchronization as the synchronization effect, e.g., a barrier, does not
"alias" with the pointer anymore. This disables no-alias annotation for
potentially problematic arguments until we implement the fix described
in [1].
Reviewed By: uenoku
Differential Revision: https://reviews.llvm.org/D68008
[1] Compiler Optimizations for OpenMP, J. Doerfert and H. Finkel,
   International Workshop on OpenMP 2018,
   http://compilers.cs.uni-saarland.de/people/doerfert/par_opt18.pdf
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
The file was modifiedllvm/lib/IR/AbstractCallSite.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/include/llvm/IR/CallSite.h
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
Commit dada8132af65c1fa74070839c260cd78d97a0903 by johannes
[Attributor] Propagate known align from arguments to call sites
arguments
Since the information is known we can simply use it at the call site.
This is especially useful for callbacks but also helps regular calls.
The test changes are mechanical.
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/nocapture-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
Commit 70771d8b9e8dba857bce39eee8f5d10ecc17d00f by johannes
[Utils] Allow update_test_checks to scrub attribute annotations
Attribute annotations on calls, e.g., #0, are not useful on their own.
This patch adds a flag to update_test_checks.py to scrub them.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D68851
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/scrub_attrs.ll.scrub.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/scrub_attrs.ll
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was modifiedllvm/utils/update_test_checks.py
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/scrub_attrs.ll.plain.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/scrub_attrs.test
Commit be26bd55130b6b13c40d0cf0ba97bf5cf3197487 by johannes
[Utils] Reuse argument variable names in the body
If we have `int foo(int a) { return a; }` and we run with
--function-signature enabled, we want a single variable declaration for
`a` which is reused later.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D69722
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/basic.ll.funcsig.expected
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/argument_name_reuse.ll
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/argument_name_reuse.ll.plain.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/argument_name_reuse.ll.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/argument_name_reuse.test